gdy chcę wyświetlić stronę główną projektu to dostaję takiego babola :
File:
C:\xampp\htdocs\php\zendcms\skeleton-application\vendor\zendframework\zendframework\library\Zend\ServiceManager\AbstractPluginManager.php:168
Message:
Zend\Mvc\Controller\ControllerManager::createFromInvokable: failed retrieving "productcontrollerproduct(alias: Product\Controller\Product)" via invokable class "Product\Controller\ProductController"; class does not exist
Było kilka rozwiązań tego na necie jednak żadne mi nie pomogło. Męczę się z tym już parę godzin i nie wiem gdzie jest ten chochlik co blokuje wczytanie klasy.
Uwaga - zapodaję kodem :
Struktura modułu
Product
=> config -> module.config.php
=> src -> Product -> Controller -> ProductController.php
---->Form
---->Model
=>view
---->product->product
---->autoload_classmap.php
=>Module.php
Plik module.config.php
<?php 'Product\Controller\Product' => 'Product\Controller\ProductController', ), ), 'type' => 'segment', 'route' => '/product[/][:action][/][/:id]', 'action' => '|a-zA-Z||a-zA-Z0-9_-|*', 'id' => '[0-9]+' ), 'controller' => 'Product\Controller\Product', 'action' => 'index', ), ), ), ), ), 'product' => __DIR__ . '/../view', ), ), );
Plik ProductController.php
<?php namespace Product\Controller; use Zend\Mvc\Controller\AbstractActionController; use Zend\View\Model\ViewModel; class ProductController extends AbstractActionController{ public function indexAction(){ } public function addAction(){ } public function editAction(){ } public function deleteAction(){ } }
Plik Module.php
<?php namespace Product; class Module{ public function getAutoloaderConfig(){ __DIR__ . '/autoload_classmap.php', ), __NAMESPACE__ => __DIR__ . '/src/'. __NAMESPACE__, ), ), ); } public function getConfig(){ return include __DIR__ . '/config/module.config.php'; } }
autoload_classmap zwraca tylko pustą tablicę.
Namespace 'Product' jest zarejestrowany w application.config.php
Wiem że widoki nie są zdefiniowane ale wtedy powinien wywalić właśnie taki błąd a nie że nie ma klasy która de facto jest
