Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
je vient de démarrer zend framework 2 et je me trouve face à un problème assez gênant. Je doit pas être doué c'est pas possible. Je n'arrive pas à voir le plugin que j'ai ajouter.
j'ai suivit le tutoriel http://zend-framework.developpez.com/tu … amework-2/ et j'ai essayer de corrigé mon erreur d'après plusieurs site et autre tuto mais pas moyen.
J'ai fait tous les sujet de ce forum et malgré un problème très similaire je n'ai pas réussit à résoudre le mien.
Donc, je n'arrive pas à afficher l'index de mon module album. (pour le module application je n'est pas de problème). Donc 'mon-site/album' m'affiche :
The requested controller could not be mapped to an existing controller class. Controller: Album\Controller\Album(resolves to invalid controller class or alias: Album\Controller\Album)
Et toute autre requête sur ce module m'affiche : The requested URL could not be matched by routing
Voici le code de mon application :
/config/Application.config.php
<?php return array( 'modules' => array( 'Application', 'Album', ), 'module_listener_options' => array( 'config_glob_paths' => array( 'config/autoload/{,*.}{global,local}.php', ), 'config_cache_enabled' => false, 'cache_dir' => 'data/cache', 'module_paths' => array( './module', './vendor', ), ), 'service_manager' => array( 'use_defaults' => true, 'factories' => array( ), ), );
/module/Album/cofig/module.config.php
<?php return array( 'controller' => array( 'invokables' => array( 'Album\Controller\Album' => 'Album\Controller\AlbumController', ), ), 'router' => array( 'routes' => array( 'album' => array( 'type' => 'segment', 'options' => array( 'route' => '/album[/:action][/:id]', 'constraints' => array( 'action' => '[a-zA-Z][a-zA-Z0-9_-]*', 'id' => '[0-9]+', ), 'defaults' => array( 'controller' => 'Album\Controller\Album', 'action' => 'index', ), ), ), ), ), 'view_manager' => array( 'template_path_stack' => array( __DIR__ . '/../view', ), ), );
sur un des tutoriel ils remplaçais :
'defaults' => array(
'controller' => 'Album\Controller\Album',
'action' => 'index',
),
par
'defaults' => array(
'controller' => 'album',
'action' => 'index',
),
et dans ce cas l'erreur était : album(resolves to invalid controller class or alias: album)
/module/Album/src/Album/Controller/AlbumController.php
<?php namespace Album\Controller; use Zend\Mvc\Controller\ActionController, Zend\View\Model\ViewModel; class AlbumController extends ActionController { public function indexAction(){ return new ViewModel(); } }
Merci d'avance pour votre aide.
Hors ligne
Bon ben c'est bon j'ai trouvé l'erreur toutes bête, il ne fallait seulement modifier invocables mais aussi controller en controllers.
Donc mon fichier '/module/Album/cofig/module.config.php' devient
<?php return array( 'controllers' => array( 'invokables' => array( 'Album\Controller\Album' => 'Album\Controller\AlbumController', ), ), 'router' => array( 'routes' => array( 'album' => array( 'type' => 'segment', 'options' => array( 'route' => '/album[/:action][/:id]', 'constraints' => array( 'action' => '[a-zA-Z][a-zA-Z0-9_-]*', 'id' => '[0-9]+', ), 'defaults' => array( 'controller' => 'Album\Controller\Album', 'action' => 'index', ), ), ), ), ), 'view_manager' => array( 'template_path_stack' => array( __DIR__ . '/../view', ), ), );
Hors ligne
Salut, tant mieux que tu ais trouvé la solution. Par contre c'est pas un plugin mais un contrôleur ce n'est pas la même chose
Hors ligne
Oui effectivement, mais j'ai cru que c'était mon plug-in au complet qui ne fonctionnait pas alors que finalement c'était juste tous les controllers.
Hors ligne