Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 29-05-2009 11:29:04

Vincent
Administrateur
Date d'inscription: 19-09-2008
Messages: 510

ZF 1.8 et l'autoload de classes

Bonjour,

J'ai un problème, probablement tout simple, que je n'arrive pas régler.

Voici mon bootstrap :

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap

{

    protected function _initAutoload()
    {
        $moduleLoader = new Zend_Application_Module_Autoloader(array(
            'namespace' => '',
            'basePath'  => APPLICATION_PATH));
        return $moduleLoader;
       
    }

J'ai créé un dossier forms dans mon %APPLICATION_PATH% et un sous dossier News (un module) qui contient des formulaires (class Form_News extends Zend_Form ...).

Impossible de parcourir les sous répertoires. Il n'arrive pas à trouver ma classe, il ne cherche pas plus loin que le répertoire forms. Je suppose que c'est juste une histoire de chemin d'accès mais je n'arrive pas à trouver le paramètre à modifier.

Si quelqu'un a une idée...


Merci d'avance

Dernière modification par miboo (29-05-2009 16:56:00)


aka miboo

Hors ligne

 

#2 29-05-2009 12:07:59

Nikko
Membre
Lieu: Rueil (Haut-de-Seine)
Date d'inscription: 19-12-2008
Messages: 95

Re: ZF 1.8 et l'autoload de classes

Salut miboo,

Je ne pense pas répondre à ta question, mais j'ai lu sur le forum qu'il fallait ajouter cette ligne pour parcourir tous les dossiers/fichiers... Peut-être que ça te mettra sur la piste pour trouver le paramètre à modifier...

$autoloader = Zend_Loader_Autoloader::getInstance();
$autoloader->setFallbackAutoloader(true);

Cordialement,


Nikko

Etudiant en école d'ingénieur à l'INSIA

Hors ligne

 

#3 29-05-2009 12:32:02

alien7
Membre
Date d'inscription: 29-04-2007
Messages: 447

Re: ZF 1.8 et l'autoload de classes

Code:

$moduleLoader->addResourceTypes(array(
            'dbtable' => array(
                'namespace' => 'Model_DbTable',
                'path'      => 'models/DbTable',
            ),
            'form'    => array(
                'namespace' => 'Form',
                'path'      => 'forms',
            ),
            'model'   => array(
                'namespace' => 'Model',
                'path'      => 'models',
            ),
            'plugin'  => array(
                'namespace' => 'Plugin',
                'path'      => 'plugins',
            ),
            'service' => array(
                'namespace' => 'Service',
                'path'      => 'services',
            ),
            'viewhelper' => array(
                'namespace' => 'View_Helper',
                'path'      => 'views/helpers',
            ),
            'viewfilter' => array(
                'namespace' => 'View_Filter',
                'path'      => 'views/filters',
            ),
        ));

Un truc de ce genre peut etre ? je n'ai pas tester dsl


ZF 2.3 - Twitter Bootstrap 3.2
Local: Ubuntu  -> Apache2 2.4 - MariaDB 10 - PHP 5.6

Hors ligne

 

#4 29-05-2009 12:58:04

Vincent
Administrateur
Date d'inscription: 19-09-2008
Messages: 510

Re: ZF 1.8 et l'autoload de classes

Merci pour vos réponses.
J'ai vu ce tutoriel effectivement. Mais j'aimerai trouver quelque chose de plus précis par rapport à mon cas. Avec mon autoload actuel mes classes se chargent sauf celles qui se trouvent dans un sous module (ex: forms\News\News.php).


aka miboo

Hors ligne

 

#5 29-05-2009 15:21:22

throrin19
Membre
Date d'inscription: 01-03-2009
Messages: 318
Site web

Re: ZF 1.8 et l'autoload de classes

normalement elles devraient marcher si ta classe dans News.php a ce nom:

si ton dossier form est dans application:

Code:

Forms_News_News

sinon

Code:

<Module>_Forms_News_News

j'ai eu un problème du genre hier mais sa venai d'une faute de frappe (le s de forms que j'avais oublié)

Hors ligne

 

#6 29-05-2009 15:28:13

Vincent
Administrateur
Date d'inscription: 19-09-2008
Messages: 510

Re: ZF 1.8 et l'autoload de classes

Edit: j'ai rien dis


Ça fonctionne maintenant


Merci à tous smile

Dernière modification par miboo (29-05-2009 15:33:01)


aka miboo

Hors ligne

 

#7 29-05-2009 15:34:58

Vincent
Administrateur
Date d'inscription: 19-09-2008
Messages: 510

Re: ZF 1.8 et l'autoload de classes

alien7 a écrit:

Code:

$moduleLoader->addResourceTypes(array(
            'dbtable' => array(
                'namespace' => 'Model_DbTable',
                'path'      => 'models/DbTable',
            ),
            'form'    => array(
                'namespace' => 'Form',
                'path'      => 'forms',
            ),
            'model'   => array(
                'namespace' => 'Model',
                'path'      => 'models',
            ),
            'plugin'  => array(
                'namespace' => 'Plugin',
                'path'      => 'plugins',
            ),
            'service' => array(
                'namespace' => 'Service',
                'path'      => 'services',
            ),
            'viewhelper' => array(
                'namespace' => 'View_Helper',
                'path'      => 'views/helpers',
            ),
            'viewfilter' => array(
                'namespace' => 'View_Filter',
                'path'      => 'views/filters',
            ),
        ));

Un truc de ce genre peut etre ? je n'ai pas tester dsl

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap

{

    protected function _initAutoload()
    {
        $moduleLoader = new Zend_Application_Module_Autoloader(array(
            'namespace' => '',
            'basePath'  => APPLICATION_PATH));
        return $moduleLoader;
       
    }

Pour en revenir à ces deux morceaux de codes, pouvez-vous me dire la différence?

Dernière modification par miboo (29-05-2009 16:55:45)


aka miboo

Hors ligne

 

#8 29-05-2009 15:36:34

alien7
Membre
Date d'inscription: 29-04-2007
Messages: 447

Re: ZF 1.8 et l'autoload de classes

throrin19 a écrit:

j'ai eu un problème du genre hier mais sa venai d'une faute de frappe (le s de forms que j'avais oublié)

Normalement y'a pas de "s" à Forms , par défaut, après si tu as changé...


ZF 2.3 - Twitter Bootstrap 3.2
Local: Ubuntu  -> Apache2 2.4 - MariaDB 10 - PHP 5.6

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