Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Afin d'être plus à l'aise dans mes controllers au niveau des différentes variables, j'ai dérivé Zend_Controller_Action de la façon suivante et tous mes controlleurs dérive d'elle :
abstract class MyAction extends Zend_Controller_Action { public $auth; public $post; public $get; public $params; public $session; public function init(){ parent::init(); $this->view = Zend_Registry::get("view"); $this->auth = $this->view->auth = Zend_registry::get("auth")->getIdentity(); $this->post = Zend_Registry::get("filterPost"); $this->get = Zend_Registry::get("filterGet"); $this->session = Zend_Registry::get("session"); $this->params = new MyFilter($this->getRequest()->getParams()); Zend_registry::set('filterParams', $this->params); $this->translate = $this->view->translate = MyTranslator::getInstance("translate"); $this->view->lang = $this->session->lang; $this->view->currentController = $this->getRequest()->getControllerName(); $this->view->currentAction = $this->getRequest()->getActionName(); } }
Cela vous parait il correcte et être une bonne pratique ou cela est stupide et il vaut mieux utiliser directement les Zend_Registry dans les controlleurs quitte a ce que ce soit moins lisible ?
Hors ligne
Je pense que ça va faire l'objet d'un débat. Perso, je ne suis pas trop pour l'héritage. Je pense qu'un helper est plus adapté. Tous ces traitements, tu peux les faire dans le preDispatch d'un helper, et ça te permet de rester dans le cas très standard où toutes tes actions étendent directement Zend_Controller_Action.
L'avantage des helpers est que tu peux en ajouter autant que tu veux, chacun spécialisé pour une tâche. Alors que dans le cas de l'héritage, si tu as 25 traitements hétérogènes à faire, ton init() ou ton preDispatch de la classe mère risque d'être difficilement maintenable.
A+, Philippe
Hors ligne
Je savais pas qu'il y a avait des helpers pour les actions je connaissais que pour les vues.
Je vais aller chercher des infos la dessus, merci.
Hors ligne
Philippe : "Je pense que ça va faire l'objet d'un débat. "
Huhuhu ^^
Hors ligne