2010-08-02 3 views
0

J'ai créé un modèle de système d'entreprise à partir d'un diagramme de classes et l'ai converti en un code orienté objet php.Comment gérer la logique de base de données à partir du modèle

Ce que j'ai maintenant est juste un modèle vide, il est capable de se connecter et les connexions sont gérées. Maintenant, la prochaine étape est à venir. J'ai une base de données et je dois mettre l'objet dans la base de données.

Maintenant, il y a un manque d'expérience de mon côté. J'ai le modèle et puisque php rend une vue et fait une fois des demandes pour rendre la vue je suis un peu confus. Il ne peut pas être possible de charger toutes mes entités hors de la base de données et de remplir mon modèle en mémoire, puis de l'utiliser car il serait trop grand.

Est-ce que quelqu'un sait comment charger les données nécessaires dans mon modèle, puis l'utiliser? Peut-être des suggestions d'un livre ou d'un article?

Merci!

Répondre

1

Il semble que vous exécutiez un modèle "MV" (qui n'existe pas) plutôt que "MVC".

Qu'est-il arrivé à votre contrôleur? Votre contrôleur doit acheminer la demande à l'entité modèle requise pour cette vue particulière, puis vous pouvez utiliser la réponse selon vos besoins.

Si votre modèle représente une information trop volumineuse, vous faites quelque chose de mal. Vous devriez envisager de charger vos données paresseux et de ne charger que ce qui est strictement nécessaire. Naturellement, votre contrôleur décidera de cela et acheminera tout à votre modèle.

Éditer en réponse aux commentaires

Vous avez plusieurs méthodes. Si vous utilisez Zend_Db_Table_Abstract, vous sous-classez cette classe et l'utilisez comme modèle. C'est probablement le plus facile. Ensuite, vous l'utilisez comme votre modèle. Définissez le $_name = "myComments" puis créez simplement une méthode appelée getComments.

Dans votre méthode on dans votre sous-classe de Zend_Db_Table_Abstract, vous pouvez ensuite créer votre $ select. Ensuite, vous venez de renvoyer la réponse de votre modèle.

Alors

$rows = $table->fetchAll($select); 

Et puis juste retour des lignes $; Vous récupérerez alors vos $ rows dans votre contrôleur. Vous avez chargé votre modèle dans votre contrôleur par $ model = new Commentaires(); puis faites l'extraction en utilisant $ result = $ model-> getComments();

C'est un peu un décalage, mais cela devrait vous montrer comment vous devriez le faire. Vous avez juste besoin de créer votre modèle maintenant.

+0

Hmm il y a un contrôleur. J'utilise Zend Framework avec MVC. Je pense que je l'ai mal expliqué et que je pense que mon modèle est faux. Le chargement de données devrait se faire dans le modèle, donc je pourrais demander: Comment charger des données dans les objets requis par le contrôleur. Pour expliquer en bref: J'ai une entité qui est connectée avec un compte et un commentaire. Comment charger les commentaires dans l'entité hors de ma base de données? – baklap

Questions connexes