Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 22-10-2007 18:51:21

Moimeme
Membre
Date d'inscription: 19-04-2007
Messages: 120

Zend_Action et bonne pratique

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 :

Code:

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

 

#2 23-10-2007 09:09:47

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: Zend_Action et bonne pratique

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


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#3 23-10-2007 09:21:02

Moimeme
Membre
Date d'inscription: 19-04-2007
Messages: 120

Re: Zend_Action et bonne pratique

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

 

#4 23-10-2007 09:42:10

Julien
Membre
Date d'inscription: 16-03-2007
Messages: 501

Re: Zend_Action et bonne pratique

Philippe : "Je pense que ça va faire l'objet d'un débat. "

Huhuhu ^^

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages