IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 519
    Points : 311
    Points
    311
    Par défaut 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
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    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
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 519
    Points : 311
    Points
    311
    Par défaut
    Ok merci ça fonctionne bien

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. appeler une fonction dans un autre programme
    Par elghadi_mohamed dans le forum Langage
    Réponses: 3
    Dernier message: 19/10/2007, 19h58
  2. Comment appeler une procédure dans une autre unité ?
    Par michel71 dans le forum Langage
    Réponses: 1
    Dernier message: 19/09/2007, 16h27
  3. Appeler une classe dans un autre package
    Par Nasky dans le forum Langage
    Réponses: 6
    Dernier message: 21/02/2007, 16h06
  4. Probleme appel de fct dans une autre classe
    Par crakotte_finance dans le forum C++
    Réponses: 6
    Dernier message: 09/10/2006, 21h22
  5. Appeler une fonction dans un autre cadre !
    Par rich25200 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 01/11/2005, 13h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo