Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 15-10-2009 12:31:50

slake13
Membre
Date d'inscription: 25-06-2009
Messages: 17

[Resolu][1.9.3] Dossier models dans une application modulaire

Bonjour.

Je viens vers car j'ai un petit soucis dans mon appli modulaire qui se présente sous cette forme:

|--application
|  |--configs
|  |--layouts
|  |--models
|  |--modules
|  |  |--admin
|  |  |  |--controllers
|  |  |  |--views
|  |  |
|  |  |--default
|  |  |  |--controllers
|  |  |  |--views

Je souhaite donc avoir un dossier models commun à mes deux modules. J'ai lu ce tutoriel à propos du chargement de ressources, mais je ne comprend pas à quel endroit on doit créer la classe qui étend de Zend_Application_Module_Autoloader car si j'ai bien comprit c'est à partir de là qu'on doit définir les différents dossiers de notre application.

voici quelque un des mes fichiers :
application.ini

Code:

[production]
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
includePaths.library = APPLICATION_PATH "/../library"
includePaths.zend = APPLICATION_PATH "/../../Library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
autoloadernamespaces.ems = "Ems_"

resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
resources.frontController.plugins.layout = Ems_Controller_Plugin_Layout

resources.modules[] = ""

resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts"
resources.layout.layout = default

admin.resources.layout.layout = admin

resources.view.helperPath.App_View_Helper = APPLICATION_PATH "/views/helpers"

# connexion à une base de données
resources.db.adapter = "pdo_mysql"
resources.db.params.host = "localhost"
resources.db.params.username = "****"
resources.db.params.password = "****"
resources.db.params.dbname = "****"

[staging : production]

[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1

[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1

Bootstrap principal

Code:

<?php
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
    /*
     * Auto chargement des modules
     */
    protected function _initAppAutoload()
    {        
        $autoloader = new Zend_Application_Module_Autoloader(array(
            'namespace' => 'App',
            'basePath' => dirname(__FILE__),
        ));
        return $autoloader;
    }

    /*
     * Helper pour le changement de layout pour les modules
     */
    protected function _initLayoutHelper()
    {
        $this->bootstrap('frontController');
        $layout = Zend_Controller_Action_HelperBroker::addHelper(
            new Ems_Controller_Action_Helper_LayoutLoader());
    }

    /*
     * Auto chargement des classes
     */
    protected function _initClassAutoLoad()
    {
        require_once 'Zend/Loader.php';

        // Chargement automatique des classes
        $registerAutoload = Zend_Loader_Autoloader::getInstance();

        return $registerAutoload;
    }
}

Bootstrap du module admin

Code:

<?php
class Admin_Bootstrap extends Zend_Application_Module_Bootstrap
{

    /*
     * Chargement des ressources pour la BDD
     */
    protected function _initDb()
    {
        $config = new Zend_Config_Ini('config.ini');
        $db = Zend_Db::factory($config->database);

        return $db;
    }
}

Le problème c'est lorsque j'essaye d'instancier un de mes modèles dans le module admin j'ai une erreur qui survient : Fatal error: Class 'TAdmin' not found in ...\application\modules\admin\controllers\AdministrationUserController.php on line 29

J'en déduis donc qu'il ne sait pas ou aller chercher les modèles, et j'ai vraiment du mal à cerner comment dire mon application ou elle doit aller les piocher.

Dernière modification par slake13 (16-10-2009 10:39:06)

Hors ligne

 

#2 16-10-2009 10:38:40

slake13
Membre
Date d'inscription: 25-06-2009
Messages: 17

Re: [Resolu][1.9.3] Dossier models dans une application modulaire

J'ai trouvé ce qu'il cloché, c'est parce que je déclarais mal la classe de mon model...

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