Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
J'ai pris un exemple ZF3 https://github.com/olegkrivtsov/using-z … helloworld que j'ai voulu adapter à mon site déjà développé en ZF1.
J'ai renommé le DownloadController en ClientController dans les fichiers suivants :
- module/Application/src/Controller/ClientController et j'ai renommé le nom de la class
- module/Application/view/application/client
- module/Application/config/module.config.php et voici le contenu de ce fichier :
<?php namespace Application; use Zend\Router\Http\Literal; use Zend\Router\Http\Segment; use Zend\Router\Http\Regex; use Zend\ServiceManager\Factory\InvokableFactory; use Application\Route\StaticRoute; return [ 'router' => [ 'routes' => [ 'home' => [ 'type' => Literal::class, 'options' => [ 'route' => '/', 'defaults' => [ 'controller' => Controller\IndexController::class, 'action' => 'index', ], ], ], 'application' => [ 'type' => Segment::class, 'options' => [ 'route' => '/application[/:action]', 'defaults' => [ 'controller' => Controller\IndexController::class, 'action' => 'index', ], ], ], 'about' => [ 'type' => Literal::class, 'options' => [ 'route' => '/about', 'defaults' => [ 'controller' => Controller\IndexController::class, 'action' => 'about', ], ], ], 'download' => [ 'type' => Segment::class, 'options' => [ 'route' => '/download[/:action]', 'defaults' => [ 'controller' => Controller\ClientController::class, 'action' => 'index', ], ], ], 'doc' => [ 'type' => Regex::class, 'options' => [ 'regex' => '/doc(?<page>\/[a-zA-Z0-9_\-]+)\.html', 'defaults' => [ 'controller' => Controller\IndexController::class, 'action' => 'doc', ], 'spec'=>'/doc/%page%.html' ], ], 'static' => [ 'type' => StaticRoute::class, 'options' => [ 'dir_name' => __DIR__ . '/../view', 'template_prefix' => 'application/index/static', 'filename_pattern' => '/[a-z0-9_\-]+/', 'defaults' => [ 'controller' => Controller\IndexController::class, 'action' => 'static', ], ], ], 'barcode' => [ 'type' => Segment::class, 'options' => [ 'route' => '/barcode[/:type/:label]', 'constraints' => [ 'type' => '[a-zA-Z][a-zA-Z0-9_-]*', 'label' => '[a-zA-Z0-9_-]*' ], 'defaults' => [ 'controller' => Controller\IndexController::class, 'action' => 'barcode', ], ], ] ], ], 'controllers' => [ 'factories' => [ Controller\IndexController::class => InvokableFactory::class, Controller\ClientController::class => InvokableFactory::class, ], ], // The following registers our custom view // helper classes in view plugin manager. 'view_helpers' => [ 'factories' => [ View\Helper\Menu::class => InvokableFactory::class, View\Helper\Breadcrumbs::class => InvokableFactory::class, ], 'aliases' => [ 'mainMenu' => View\Helper\Menu::class, 'pageBreadcrumbs' => View\Helper\Breadcrumbs::class, ], ], 'view_manager' => [ 'display_not_found_reason' => true, 'display_exceptions' => true, 'doctype' => 'HTML5', 'not_found_template' => 'error/404', 'exception_template' => 'error/index', 'template_map' => [ 'layout/layout' => __DIR__ . '/../view/layout/layout.phtml', 'application/index/index' => __DIR__ . '/../view/application/index/index.phtml', 'error/404' => __DIR__ . '/../view/error/404.phtml', 'error/index' => __DIR__ . '/../view/error/index.phtml', ], 'template_path_stack' => [ __DIR__ . '/../view', ], ], ];
j'ai le message d'erreur suivant:
File: D:\xampp\htdocs\XerfiTest\vendor\zendframework\zend-servicemanager\src\Factory\InvokableFactory.php:30
Message: Class 'Application\Controller\DownloadController' not found
Stack trace:
#0 D:\xampp\htdocs\XerfiTest\vendor\zendframework\zend-servicemanager\src\ServiceManager.php(758): Zend\ServiceManager\Factory\InvokableFactory->__invoke(Object(Zend\ServiceManager\ServiceManager), 'Application\\Con...', NULL)
#1 D:\xampp\htdocs\XerfiTest\vendor\zendframework\zend-servicemanager\src\ServiceManager.php(200): Zend\ServiceManager\ServiceManager->doCreate('Application\\Con...')
#2 D:\xampp\htdocs\XerfiTest\vendor\zendframework\zend-servicemanager\src\AbstractPluginManager.php(141): Zend\ServiceManager\ServiceManager->get('Application\\Con...')
#3 D:\xampp\htdocs\XerfiTest\vendor\zendframework\zend-mvc\src\DispatchListener.php(95): Zend\ServiceManager\AbstractPluginManager->get('Application\\Con...')
#4 D:\xampp\htdocs\XerfiTest\vendor\zendframework\zend-eventmanager\src\EventManager.php(322): Zend\Mvc\DispatchListener->onDispatch(Object(Zend\Mvc\MvcEvent))
#5 D:\xampp\htdocs\XerfiTest\vendor\zendframework\zend-eventmanager\src\EventManager.php(179): Zend\EventManager\EventManager->triggerListeners(Object(Zend\Mvc\MvcEvent), Object(Closure))
#6 D:\xampp\htdocs\XerfiTest\vendor\zendframework\zend-mvc\src\Application.php(332): Zend\EventManager\EventManager->triggerEventUntil(Object(Closure), Object(Zend\Mvc\MvcEvent))
#7 D:\xampp\htdocs\XerfiTest\public\index.php(40): Zend\Mvc\Application->run()
#8 {main}
j'ai fait la recherche de download dans tout les autres fichiers de conf et j'ai rien trouvé.
Ce que je ne comprends pas c'est que même si j'efface le contenu du fichier module/Application/config/module.config.php les url de l'exemple fonctionne, et si je fait une modification dans le fichier ça ne s'applique pas.
Je tourne en rond depuis presque une semaine !!
Dernière modification par samziceliza (30-03-2017 11:57:41)
Hors ligne
Bonjour,
Je ne vois pas d'info concernant un Download controller dans le code fourni...
Par contre le fait que les modifications ne s'affichent pas, il se peut que ta config soit en cache. As-tu activé le mode de développement ?
Hors ligne
Dans le fichier application.config.php j'ai remplacé true par false pour les options config_cache_enabled et module_map_cache_enabled et ça fonctionne.
Merci beaucoup pour ton aide
Dernière modification par samziceliza (30-03-2017 13:33:40)
Hors ligne
Plutôt que de faire ça, il vaut mieux passer en configuration de développement (en gros ajouter un fichier en plus qui override la config de base et charge quelques confs en plus).
composer development-enable
Hors ligne
c'est fait, merci beaucoup
Hors ligne