Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 07-01-2011 12:03:38

Ashs
Nouveau membre
Date d'inscription: 07-01-2011
Messages: 4

Problème de structure et loader

Bonjour tout le monde (et bonne année),

Je travaille actuellement sur un projet en ZF dans le cadre de mes études et je suis confronté à un problème assez génant.
Je vais vous expliquer le contexte : nous avons établie une struture séparé en module (Frontend et Backend). Je travaille en local avec cette structure et une fois qu'une partie du travail est fini, j'upload le tout sur le serveur.

J'ai développer en local un système utilisant les acl (qui fonctionne) mais une fois uploadé sur le serveur celui-ci me déclare une erreur de chargement de ma classe. Le projet étant à un stade assez avancé, je pensais 'maitriser' le système d'autoload mais apparemment ce n'était pas le cas.

Ma structure en local est strictement identique à celle utilisée sur le serveur.

Voici comment je procède pour enregistrer une classe :
-> création d'un dossier dans le dossier models d'un module
-> j'enregistre un autoloadernamespace correspondant au nom du dossier dans le application.ini

La tête de la partie autoload du bootstrap frontale :

Code:

    protected function _initAutoload()
    {
        $autoloader = Zend_Loader_Autoloader::getInstance();
        
                //cette classe ne se charge pas sur le serveur
        $acl = new List_Access() ;

        $auth = Zend_Auth::getInstance();

        if($auth->hasIdentity())
        {
            Zend_Registry::set('droit',Zend_Auth::getInstance()->getStorage()->read());
        }
        else 
        {
            Zend_Registry::set('droit','visiteur');
        }
        $fc = Zend_Controller_Front::getInstance();
        $fc->registerPlugin(new Plugin_AccessCheck($acl,$auth));
    }

Voici l'un des boostrap de chaque module :

Code:

    protected function _initAutoload()
    {
        //On enregistre les modules (les parties de notre application), souvenez-vous : Backend et Frontend
        $loader = new Zend_Application_Module_Autoloader(array(
            'namespace' => '',
            'basePath'  => APPLICATION_PATH));
        return $loader;
    }

application.ini

Code:

....

includePaths.library = APPLICATION_PATH "/../library"
includePaths.models = APPLICATION_PATH "/modules/backend/models"
includePaths.models = APPLICATION_PATH "/modules/frontend/models"

bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"

appnamespace = "Application"
autoloadernamespaces[] = "Table"
autoloadernamespaces[] = "Forms"
autoloadernamespaces[] = "Auth"
autoloadernamespaces[] = "Mail"
autoloadernamespaces[] = "List"
autoloadernamespaces[] = "Plugin"

;Définition des différents modules de l'application
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
resources.modules[] = "backend"
resources.modules[] = "frontend"

;Définition et configuration du module par défaut du projet
resources.frontController.defaultModule = "frontend"
resources.frontController.defaultControllerName = "index"
resources.frontController.defaultAction = "index"
resources.frontController.useDefaultControllerAlways = true
resources.frontController.params.displayExceptions = 0

....

La structure que j'utilise :
http://img4.hostingpics.net/thumbs/mini_963681Capture2.png


Si vous avez une idée pour résoudre ce problème, un conseil pour l'autoload ou une remarque sur la façon dont j'utilise les modules, n'hésitez pas à m'en parler.

Merci d'avance.

Hors ligne

 

#2 07-01-2011 16:30:24

Ashs
Nouveau membre
Date d'inscription: 07-01-2011
Messages: 4

Re: Problème de structure et loader

J'ai essayé de charger dans le bootstrap une classe qui normalement ne pose pas de problème, mais celle-ci ne se charge pas non plus.

Je pense donc que mon problème se situe principalement au niveau de l'autoload, je vais continué de tester de mon côté.
Vos idées et suggestions sont les bien venues.

Hors ligne

 

#3 07-01-2011 16:45:51

Ithier
Membre
Date d'inscription: 05-01-2010
Messages: 85

Re: Problème de structure et loader

Les 2 environnements (prod et dev) sont-ils identiques ?
Notamment si la prod est sur linux la casse des fichiers est importante, ce qui n'est pas le cas sous windows.

Hors ligne

 

#4 09-01-2011 21:49:19

Ashs
Nouveau membre
Date d'inscription: 07-01-2011
Messages: 4

Re: Problème de structure et loader

Bonsoir, merci pour votre réponse.

Les deux environnements sont effectivement identique. (et je dev' sous linux )

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