Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
Petite question philosophique hahaha:
Vu qu'à chaque fois que je veux accéder aux données de mon modèle "Exemples", je fais systématiquement
$exempleTable = new Exemples(); (suivi des select() et fectAll() qui vont bien)
(Mon modèle: class Exemples extends Zend_Db_Table_Abstract)
J'en suis à me demander si je n'ai pas oublié d'implémenter un singleton qui me permettrait de limiter à une seule le nombre d'instances de cette classe.
Votre avis? Merci a+!
Hors ligne
Salut pzowebs,
cette question est tout à fait juste, il n'y qu'une table "Exemples" en base, donc logiquement qu'une instance de de sa classe Zend_Db_Table_Abstract ! Dans nos projets internes nous implémentons singleton pour les models, et quand la base comporte beaucoup de tabes on hésite pas à faire un Factory qui renvoie des singleton..
Bonne continuation !
Dernière modification par dreuff (25-08-2008 22:40:22)
Hors ligne
yes merci!.
En cherchant un peu, je suis tombé sur cette approche que je trouve intéressante: http://bolsadeideas.cl/zsamer/2008/08/l … on-helper/
Il s'agit d'un action helper qui permet de charger les models (voir lien ci-dessus pour le détail du code). C'est en espagnol, mais simple à comprendre .
l'idée (ceci pour recuperer le model user dans le module Admin):
$userModel = $this->_loadModel->getSingleton('admin/user');
Autre exemple d'utilisation, faire ceci (sans avoir besoin de require, ou de faire new User()):
class Permissions_Admin_UserController extends Zend_Controller_Action { public function init() { $this->_loadModel = $this->_helper->getHelper('LoadModel'); } public function listAction() { $this->view->list = $this->_loadModel->getSingleton('admin/user')->findAll(); } ...
voilà, a+
Dernière modification par pozowebs (26-08-2008 03:05:19)
Hors ligne