Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MVC PHP Discussion :

Appeler un helper dans un autre helper


Sujet :

MVC PHP

  1. #1
    Membre averti
    Appeler un helper dans un autre helper
    Bonjour,

    Je voudrais savoir si il était possible d'appeler un helper dans un autre helper comme ceci :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    class Zend_Controller_Action_Helper_MiseForme extends Zend_Controller_Action_Helper_Abstract
    {
        $commentaires = $this->_helper->Commentaire->afficherCommentaires($pCodeBillet);
    }


    Car pour l'instant il me renvoit l'erreur suivante :

    Notice: Undefined property: Zend_Controller_Action_Helper_MiseForme::$_helper in /www/htdocs/xxx/application/controllers/helpers/MiseForme.php on line 113 Notice: Trying to get property of non-object in /www/htdocs/xxx/application/controllers/helpers/MiseForme.php on line 113 Fatal error: Call to a member function afficherCommentaires() on a non-object in /www/htdocs/xxx/application/controllers/helpers/MiseForme.php on line 113

  2. #2
    Expert éminent
    Bonjour,

    Il faut utiliser le gestionnaire d'aide (broker) pour cela:

    Code php :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    $comment_helper =  Zend_Controller_Action_HelperBroker::getStaticHelper('commentaire');
    $commentaires = $comment_helper->afficherCommentaires($pCodeBillet);


    Cela dit, il serait plus propre d'instancier l'aide d'action Commentaire dans le contrôleur, et de le passer en paramètre à l'appel de MiseForme.
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  3. #3
    Membre averti
    Ok merci ça fonctionne bien