Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
J'ai créé un module nommé "Import" dans mon projet avec zend tool. Voila ce que j'ai obtenue :
-application
-config
-controller
-form
-layout
-models
-modules
-Import
-applications
-models
-view
-view
-bootstrap.php
Je voudrais avoir quelques conseils sur la manière d'importer ou "d'autoloder" les classes du dossier models dans Import. Pour le moment je fais simplement des :
require_once APPLICATION_PATH.'/modules/Import/models/DbTable/Ma_DbTable.php';
Merci d'avance.
P.S : j'ai tenter d'ajouter un bootstrap a mon module mais il n'est jamais appelé...
Hors ligne
Bonjour,
J'te donne le 'tout en un':
class Import_Bootstrap extends Zend_Application_Module_Bootstrap { protected function _initLoader() { $resource = new Zend_Loader_Autoloader_Resource(array( 'basePath' => APPLICATION_PATH . '/modules/Import', 'namespace' => 'Import_') ); $resource->addResourceType('model', 'models/', 'Model'); } }
Dans modules/Import/controllers/MonController.php
$maDbTable = new Import_Model_DbTable_MaDbTable();
Renome ton fichier Ma_DbTable.php par MaDbTable.php
Manuel: http://framework.zend.com/manual/1.12/f … ource.html
Dernière modification par us2rn4m2 (03-10-2012 16:12:22)
Hors ligne
Bonjour us2rn4m2,
J'ai essayé de faire ce que tu m'as conseillé, toutefois cela ne marche toujours pas... J'ai toujours l'erreur :
"Fatal error: Class 'Import_Model_DbTable_Utilisateur' not found in C:\Users ... on line 19"
Pour tester le passage du code dans le bootstrap, j'ai fait un :
echo 'test';die;
Mais rien ne se passe...
L'erreur vient peut être de mon fichier de config que voici :
[production] phpSettings.display_startup_errors = 1 phpSettings.display_errors = 1 phpSettings.date.timezone = "Europe/Paris" includePaths.library = APPLICATION_PATH "/../library" bootstrap.path = APPLICATION_PATH "/Bootstrap.php" bootstrap.class = "Bootstrap" appnamespace = "Application" resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers" resources.frontController.params.displayExceptions = 1 resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts/" resources.view[] = resources.frontController.moduleDirectory = APPLICATION_PATH "/modules" [staging : production] [testing : production] phpSettings.display_startup_errors = 1 phpSettings.display_errors = 1 [development : production] phpSettings.display_startup_errors = 1 phpSettings.display_errors = 1 resources.frontController.params.displayExceptions = 1
(c'est le fichier de config qui est dans /application/configs/application.ini)
Cordialement.
Hors ligne
Dans le fichier application.ini rajoute :
resources.modules[] =
Dernière modification par us2rn4m2 (03-10-2012 16:27:53)
Hors ligne
Merci us2rn4m2, cela marche parfaitement maintenant
J'ai toutefois un autre soucie du même genre. Dans le dossier de mon projet (au même niveau que configs, application, models, etc...) j'ai créé mon propre dossier "service".
Comment dois je m'y prendre pour que les fichiers qui se trouvent dans ce répertoire soit chargés sans passer par des "require once" ?
Cordialement
Hors ligne
e, si je comprends bien, tu as deux controllers :
- IndexController, qui contient une action indexaction()
- AdminController, qui contient une action indexaction()
Hors ligne