34 votes

Comment puis-je obtenir l'action actuelle dans Zend Framework?

J'ai un plugin dans mon application Zend Framework qui vérifie l'état de connexion après chaque demande, et redirige l'utilisateur vers l'action de connexion si sa session est invalide ou expirée. J'aimerais mettre en cache l'action de la demande précédente afin que, après une tentative de connexion réussie, je puisse les rediriger vers leur demande précédente.

J'ai trouvé la documentation sur la méthode setActionController(), mais je ne trouve rien sur une méthode "getActionController()". Existe-t-il? Si oui, quelqu'un aurait-il des informations à me fournir à ce sujet? Sinon, quelle est la meilleure façon d'atteindre mon objectif?

76voto

nuqqsa Points 3373

Dans le routage par défaut, à la fois le contrôleur et l'action sont toujours transmis avec la requête.

$controller = $this->getRequest()->getControllerName();
$action = $this->getRequest()->getActionName();

37voto

faramka Points 1206

Si vous n'êtes pas dans le contrôleur, utilisez :

Zend\_Controller\_Front::getInstance()->getRequest()->getControllerName();
Zend\_Controller\_Front::getInstance()->getRequest()->getActionName();

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X