Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 01-12-2008 23:52:51

farf
Membre
Date d'inscription: 21-11-2008
Messages: 37

Modèle, relation many to many + design pattern

Bonjour à tous,

Quelques question sur la partie modèle:

Cette question est autant du ressort du forum "motif de conception" que "Zend_DB",...

Faut-il obligatoirement créer une classe de jointure pour utilisez les méthodes magiques (findManyToManyRowset)? N'étant pas initialement de PHP, cela me paraît étrange de devoir créer une classe alors que le nom de la table suffirait, non?

Autre question, pour chaque objet, j'ai créé une classe Objects (singleton contenant en propriété protected une instance de ObjectsTable), une classe Object (extending Zend_Db_Table_Row) et une class ObjectTable (extending Zend_Db_Table).

Cela me permet d'appeler Objects::function(); directement au lieu de créer une instance de ObjectsTable puis d'appeler la fonction.

Et Objects sert d'interface avec ObjectsTable permettant ainsi :
- de n'exposer que les méthodes que l'on souhaite exposer. Le controlleur ne peut pas jouer le rôle du modèle comme c'est souvent le cas par facilité
- de mettre autre chose que ObjectsTable derrière sans avoir à modifier autre chose que le modèle. (ex: récupérer les objets à partir d'un autre site).

Suis-je clair? Cela vous paraît-il pertinent?

Problème: il faut bloquer la possibiblité d'instanciation de ObjectsTable par un controlleur.
Cela fait trop de classe pour le répertoire modèles: faut-il alors créer un sous répertoire contenant l'ensemble des classes permettant de lier le modèle à la base de données?


P.S.: cette structure vient en grande partie de mon expérience avec PureMVC en actionscript 3.

Dernière modification par farf (01-12-2008 23:53:27)

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