2010-10-02 5 views
3

Zend a Zend_Db mais ce n'est pas un ORM complet. J'ai déjà écrit des sections d'une application d'une manière qui utilise Zend_Db. Je veux cependant intégrer un ORM complet dans l'application pour l'utiliser pour des opérations de base de données plus complexes, mais je ne veux pas avoir à réécrire des actions existantes qui sont complètes.Mixage de Zend_Db avec des classes ORM

Plus expérimentés avec Zend Framework, voyez-vous un problème avec l'utilisation de Zend_Db dans certaines actions et d'un ORM dans d'autres actions? Est-il possible que les classes générées par Zend_Db coexistent avec les classes de base de données générées par l'ORM? Et si je devais utiliser les deux classes même en une seule action? Je ne vois pas de conflit là-bas, mais je ne suis pas très bien avec MVC ou ORM, donc je peux manquer un gros conflit.

Répondre

2

J'ai beaucoup travaillé sur Zend_Db à travers la version 1.0 de ZF, et j'ai aussi utilisé Doctrine.

Il ne devrait pas y avoir de conflit entre Zend_Db et un autre ORM. Cependant, les objets récupérés via l'interface Zend_Db n'auraient aucune connaissance des objets récupérés via une autre interface ORM, par exemple. Doctrine, et vice versa. Par conséquent, si votre ORM essayait d'être astucieux en ce qui concerne les validations par lot dans la base de données, vous devez le forcer à valider avant d'essayer de charger des données à partir des mêmes lignes dans un objet Zend_Db. Et de même à l'envers. Cela dit, il n'y a rien dans la bibliothèque ORM-ish qui vous aide à gérer ces cas, c'est donc à vous de savoir comment se comporte chaque ORM. On dirait que vous vous préparez pour beaucoup de travail pour accommoder le leaky abstractions, et vous feriez mieux de réécrire votre code Zend_Db existant.