J'ai écrit un plugin qui doit définir une propriété sur le contrôleur actuellement distribué. Par exemple, si mon plug-in est:Zend Framework: Comment injecter une propriété de contrôleur à partir d'un Zend_Controller_Plugin
class Application_Plugin_Foo extends Zend_Controller_Plugin_Abstract
{
public function dispatchLoopStartup(Zend_Controller_Request_Abstract $request)
{
// Get an instance of the current controller and inject the $foo property
// ???->foo = 'foo';
}
}
Je veux être en mesure de le faire:
class IndexController extends Zend_Controller_Action
{
public function indexAction()
{
$this->view->foo = $this->foo;
}
}
}
Toute aide est grandement appréciée!
Il semble que le contenu du lien * Simple Resource Injector pour les contrôleurs d'action ZF * ait été copié dans la réponse de @ DavidW, mais je vous invite à lire l'ensemble de la discussion sur la page d'origine. Il y a aussi beaucoup de commentaires utiles. – chelmertz
J'ai commencé à utiliser getParam() avant de poster cette question. J'ai même eu le "développement d'un contrôleur de base" aussi, mais j'ai trouvé que les deux défauts ne valaient pas la peine d'être discutés ici.Utiliser une aide à l'action semblait être la bonne façon de faire ce que je voulais faire, mais après avoir lu l'article que vous avez mentionné, j'ai changé d'avis et je vais utiliser les «dépendances à l'injection» décrites par Matthew. Semble la méthode la plus efficace pour travailler avec un groupe de programmeurs. – Julian
@Julian Je suis d'accord avec vous mais si ce n'est pas documenté correctement, il peut être difficile de trouver d'où viennent toutes ces dépendances. Dans l'ensemble, cela semble être une méthode solide! – chelmertz