Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
Je cherche à lister tous les controllers et leurs actions présents dans mon application. Je voulais savoir s'il existait une méthode qui permettrait de faire cela assez rapidement avec ZF ?
Il y a bien les getModuleDefault, getControllerDefault... mais je ne trouve pas de méthode magique qui me faciliterait la création de cette liste.
Je pourrais aussi faire ceci en listant les fichiers contenu dans les répertoires qui contiennent mes controllers mais ça reste du bricolage...
Merci et bonne journée
Hors ligne
J'ai eu a faire ce type de code.
Je ne sais pas si il y a plus simple, en ayant cherché un peu j'ai rien trouvé de deja fait.
en fait j'ai listé le nom de tous les controllers, et grâce a la class Reflexion, j'ai put listé toutes les methodes.
Hors ligne
Chaque contrôleur est un fichier dans un dossier spécifique non ? Il n'est pas très difficile, en sachant qu'ils sont tous au format "XxxController.php".
Il suffit donc de parcourir le dossier pour connaitre tous les contrôleurs.
Après avec Reflexion, tu obtiens chacune de tes vues.
Hors ligne
Merci pour vos réponses,
Je vais donc m'orienter vers cette méthode. Je ne connaissais pas Reflexion, vais regarder tout ça.
Merci
Hors ligne
Bonjour,
Je cherchais à faire la même chose, je suis donc tomber sur ce post..
Puis, j'ai trouvé : http://www.nicollet.net/2008/09/zend-controllers/
En espérant que ça t'aideras.
Hors ligne
Merci,
J'ai à peu près fait la même chose !
Hors ligne
Bonjour,
Je suis débutant, et j'explore ZF1.7.
Dans une view j'ai fait un dump du 'Zend_Controller_Front' (ZF1.7):
Zend_Debug::dump(Zend_Controller_Front::getInstance());
Et bien on y trouve la liste des modules :
object(Zend_Controller_Front)#3 (11) { ["_baseUrl:protected"] => NULL ["_controllerDir:protected"] => NULL ["_dispatcher:protected"] => object(Zend_Controller_Dispatcher_Standard)#7 (11) { ["_curDirectory:protected"] => string(65) "D:\dev.www\ZendFramework\Essais01\application\default\controllers" ["_curModule:protected"] => string(7) "default" ["_controllerDirectory:protected"] => array(3) { ["default"] => string(65) "D:\dev.www\ZendFramework\Essais01\application\default\controllers" ["layouts"] => string(65) "D:\dev.www\ZendFramework\Essais01\application\layouts\controllers" ["news"] => string(62) "D:\dev.www\ZendFramework\Essais01\application\news\controllers" } ...
Maintenant il faut voir comment l'on y accède puisqu'elle est 'protected'.
Bye.
Hors ligne
En partant de l'indication du chemin des modules (Directory browsing) il y a le code:
Lister automatiquement tous les modules, controllers et actions : http://www.z-f.fr/code/detail/20
Hors ligne
Merci c'est approximativement ce que j'ai fais.
Par contre, je rencontre un soucis avec une instance de ReflectionClass() qui essai de me charger une classe Backoffice/UsersController au lieu de Backoffice_UsersController...
Je renvois le lien du post : http://www.z-f.fr/forum/viewtopic.php?id=2631
Si quelqu'un a une idée pour désactiver le filtre des underscores, ça me serait d'une grande aide.
Merci
Hors ligne
Pages: 1