Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1 2
Une petite précision:
Le boostrap (namespace) dans les modules sont en fait utiles pour que Zend puisse "autoloader" les ressources (models par ex.) des modules (ex. Admin_Model_MonModel).
Donc je me souviens maintenant pourquoi j'avais un bootstrap par module
A+ benjamin.
Hors ligne
Delprog a écrit:
Une petite précision:
Le boostrap (namespace) dans les modules sont en fait utiles pour que Zend puisse "autoloader" les ressources (models par ex.) des modules (ex. Admin_Model_MonModel).
Donc je me souviens maintenant pourquoi j'avais un bootstrap par module
A+ benjamin.
Merci pour cette précision, elle pourra m'être utile par la suite.
Ps: je lis ton mail
Hors ligne
Il me semble pas que les contrôleurs par défaut aient besoin d'être préfixé avec "Default_". A mon avis c'est inutile. Par contre tous les autres doivent être préfixés.
C'est un bon sujet également pour préciser que vous pouvez créer des répertoires dans les répertoires contrôleurs. Dans le genre :
admin/controllers/user/IndexController.php
Ce contrôleur sera nommé, "class Admin_User_IndexController". Tout simplement...
Hors ligne
Salut,
Le namespace "Default_" n'est effectivement pas obligatoire est peut être n'importe quoi. Cependant s'il n'est pas déclaré dans le bootstrap, ZF ne saura pas trouver une ressource comme "Model_User_Table" par ex.
Même pour un namespace vide nous aurions donc :
protected function _initAutoload() { $autoloader = new Zend_Application_Module_Autoloader(array( 'namespace' => '', 'basePath' => dirname(__FILE__), )); return $autoloader; }
Idem pour les modules, si le namespace n'est pas déclaré dans le bootstrap du module, il ne sera pas capable "d'autoloader" les ressources. (ex. "News_Model_News_Table").
Les controlleurs fonctionneront mais pas les ressources.
A+ benjamin.
Hors ligne
Est-ce que dans une architecture comme celle ci :
--------------------
application
layouts
models
modules
default
controllers
models
views
admin
controllers
models
views
bootstrap.php
--------------------
ça vous choque qu'il y est un répertoire models commun à tous les modules ?
Hors ligne
Salut,
non
Tout dépend de ce que tu fais de tes modules. Si tu décides de les rendre indépendants (ré-utilisables), il ne faut pas que tu crées de dépendances entre tes modules et ton application. Je veux dire par là que tes modules ne doivent pas être dépendant de l'application, alors qu'à l'inverse ton application sera dépendantes de tes modules.
Après si les modules ne sortiront jamais du contexte de ton application, ça ne pose vraiment aucun problème.
Ce n'est pas choquant :p
A+ benjamin.
Hors ligne
Ok merci
Hors ligne
On est bien obligé de faire ça dans le cas ou on voudrait créer un dossier models dans le module admin ?
class Admin_Bootstrap extends Zend_Application_Bootstrap_Bootstrap { protected function _initAutoload() { $autoloader = new Zend_Application_Module_Autoloader(array( 'namespace' => 'Admin_', 'basePath' => dirname(__FILE__) )); return $autoloader; } }
Si je ne mets pas ce bout de code, une classe comme celle là new Admin_Model_Test(); ne fonctionne pas.
Hors ligne
Pages: 1 2