Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 13-06-2012 11:52:09

Antho77
Nouveau membre
Date d'inscription: 13-06-2012
Messages: 3

Problème de chargement de classe

Bonjour à tous,

Je m'arrache les cheveux avec un souci qui sera surement tout simple pour vous. En effet, je cherche à charger un helper dans mon boostrap.

Mon helper se nomme "Aide_Controleur_Init" : class Aide_Controleur_Init extends Zend_Controller_Action_Helper_Abstract

Il est situé ici : "application/aides/controleurs/Init.php"

Dans mon boostrap, j'ai le code suivant :

Code:

[lang=php]        public function __construct($application)
        {
            parent::__construct($application);

            $autoloader = Zend_Loader_Autoloader::getInstance();
            $ldconf = array('basePath'        => './aides',
                            'namespace'        => 'Aide',
                            'resourceTypes'    => array(
                                                        array(    'path'        => 'controleurs',
                                                                'namespace'    => 'Controleur')));
                                                                
            $resourceLoader    = new Zend_Loader_Autoloader_Resource($ldconf);
            
             Zend_Controller_Action_HelperBroker::addHelper(new Aide_Controleur_Init());
        }

Je ne comprends pas, Zend ne trouve pas mon fichier car j'ai l'erreur suivante : Fatal error: Class 'Aide_Controleur_Init' not found in E:\wamp\www\zend_framework\XXX\application\Bootstrap.php on line 38


J'ai essayé également de passer par ceci :

Code:

[lang=php]    Zend_Controller_Action_HelperBroker::addPath('./aides/', 'Aide');

    Zend_Controller_Action_HelperBroker::addPrefix('Aide');
    Zend_Controller_Action_HelperBroker::addHelper(new Aide_Controlleur_Init());

sans succès. Auriez-vous une piste qui puisse m'indiquer la solution ?

Je vous remercie d'avance,

Anthony

Dernière modification par Antho77 (13-06-2012 11:53:48)

Hors ligne

 

#2 13-06-2012 16:21:30

shadypierre
Membre
Date d'inscription: 24-03-2010
Messages: 617

Re: Problème de chargement de classe

Dans ton application.ini

Code:

autoloadernamespaces[] = "App_"
resources.frontController.actionHelperPaths.App_Controller_Action_Helper = "App/Controller/Action/Helper"

Ensuite tu peux appeler tes helper dans tes controleurs.

Hors ligne

 

#3 13-06-2012 17:13:53

Antho77
Nouveau membre
Date d'inscription: 13-06-2012
Messages: 3

Re: Problème de chargement de classe

Merci pour ta réponse mais cela ne fonctionne pas.

Mon fichier se trouve dans le dossier "application/controllers/action/helpers" se nomme "Init.php" la classe se nomme désormais class App_Controller_Action_Helper_Init extends Zend_Controller_Action_Helper_Abstract

j'ai essayé du coup plusieurs méthodes :

autoloadernamespaces[] = "App_"
resources.frontController.actionHelperPaths.App_Controller_Action_Helper = "/App/controllers/Action/Helper"

J'ai essayé également ceci :

autoloadernamespaces[] = "App_"
resources.frontController.actionHelperPaths.App_Controller_Action_Helper = APPLICATION_PATH "/controllers/action/helper"

J'ai essayé de créer un dossier "App" dans le dossier "application" avec dedans un dossier "controllers/Action/Helper" mais sans succès ...

autoloadernamespaces[] = "App_"
resources.frontController.actionHelperPaths.App_Controller_Action_Helper = APPLICATION_PATH "/App/controllers/Action/Helper"

Hors ligne

 

#4 14-06-2012 10:40:24

shadypierre
Membre
Date d'inscription: 24-03-2010
Messages: 617

Re: Problème de chargement de classe

Il faut placer ton init.php dans /library/App/Controller/Action/Helper

Dernière modification par shadypierre (14-06-2012 10:40:34)

Hors ligne

 

#5 14-06-2012 11:39:00

Antho77
Nouveau membre
Date d'inscription: 13-06-2012
Messages: 3

Re: Problème de chargement de classe

Ah oui dans ce cas ça devrait marcher car en effet il cherche le fichier ici, mais n'y a t-il pas un moyen de rendre la chose indépendante en créant un dossier dans le dossier application ?

Hors ligne

 

#6 14-06-2012 12:12:42

shadypierre
Membre
Date d'inscription: 24-03-2010
Messages: 617

Re: Problème de chargement de classe

Surement, cependant une aide d'action ne devrait pas faire partie de l'application, étant donné quel doit être réutilisable sur différent projet. L'idée c'est de pouvoir conserver ta librairie perso sur différent projet, ce qui est exclu si tu met cette aide ds le dossier application.

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