DB_DataObject ne semble pas être ActiveRecord car vous ne stockez pas nécessairement la logique métier dans les classes "table". Cela ressemble plus à Table Data Gateway ou Row Data Gateway, mais je ne peux vraiment pas le dire. Ce dont j'ai besoin, c'est d'une bonne couche ORM que nous pouvons utiliser avec DataMapper et un DomainModel. Des idées?Quel est le modèle de conception implémenté par PEAR DB_DataObject?
Répondre
Suivez this link pour lire ce qu'est DB_DO. En un mot, il ne met pas en œuvre un modèle spécifique, il vise simplement à fournir une interface commune. L'idée est de ne pas reconstruire le même code de base dans chaque projet.
Comme pour un ORM, je recommanderais Doctrine. Il implémente ActiveRecord.
Il semble que ce que vous cherchez est quelque chose comme IBatis pour PHP. Malheureusement, cela n'existe pas encore. J'ai en fait écrit des trucs DataMapper personnalisés basés sur PDO pour l'application en cours sur laquelle je travaille pour obtenir une couche de domaine ignorant la persistance. Il est certainement plus de travail à développer et à maintenir, donc je suggérerais si possible, aller avec une implémentation de couche de données existante comme Doctrine pour la plupart de vos besoins.