2011-10-03 5 views
0

Je développe la plupart de mes applications en utilisant CodeIgniter, il n'y a pas de MVC strict. Généralement, je crée simplement des modèles basés sur des tables ou des contrôleurs de base de données. Cependant, j'ai deux tables "campagnes" et "annonces" qui sont liés les uns aux autres. Très souvent, il y aura "Get Ads By Campaign" et ainsi de suite. Souhaitez-vous simplement créer un modèle de campagne et l'utiliser pour tout? ou en créer un pour les campagnes et un pour les annonces et tout ce qui utilise des «annonces» utilise généralement le modèle d'annonces?Modèles de fractionnement PHP basés pour des tables connexes

Juste à la recherche de suggestions pour organiser les choses. Je vous remercie!

EDIT:

Ou, je pourrais étendre le modèle « Annonces » du modèle de la campagne, donc je toujours utiliser $this->campaign_model référence?

+0

Généralement, un objet doit remplir un seul travail. Si vous pouvez les séparer, séparez-les. – hakre

+0

Je suis d'accord avec @hakre. Vous ne savez jamais quand vous avez des annonces qui ne font pas partie d'une campagne ou vice versa. Séparez-les et laissez-les fonctionner indépendamment. – swatkins

Répondre

2

Je voudrais faire un pour chacun et ajouter des méthodes de commodité comme getAds sur le modèle Campaign et les correspondants sur le modèle Ad.

2

C'est la question de l'isolation. Chaque modèle devrait être conçu pour faire son travail spécifique. Cela peut ne pas sembler utile pour le moment mais à long terme il sera utile si vous décidez d'introduire plus tard une tâche supplémentaire dans ads mais pas dans campaigns ou vice versa.

Questions connexes