ORM : Propel ou Doctrine
Un ORM ou logiciel de Mapping Objet Relationel (Objet Realtional Mapping) est une interface qui permet de représenter et de manipuler sous forme d'objet tous les éléments qui composent une base de données relationnelle.
Une table ou un enregistrement de celle-ci est percu comme un langage sur lequel il est possible d'appliquer des actions : les méthodes.
L'avantage de cette approche est de s'abstraire complètement de la tenchnologie de bases de données qui fonctionne en arrière-plan.
A partir d'un modèle de données définis, Doctrine construit entièrement la base de données pour le SGBD choisi, ainsi que les classes permettant d'interroger la base de données au travers d'objets.
Grâce aux relations qui lient les tables entre elles, Doctrine est capable de retrouver tous les enregistrements d'une table qui dépendent d'un autre enregistrement dans une seconde table.
Texte tiré du livre Symfony, mieux developper en php avec Symfony 1.2 et Doctrine de Fabien Potencier et Hugo Hamon dans la collection Les cahiers du Programmeur aux éditions Eyrolles.
Avantages de Propel :

Un des avantages de Propel est de générer du code pour les méthodes et requêtes. Du coup, on a une trace du code généré, et cela est beaucoup plus pratique pour le debugage.
D'autres parts, Propel est facile à utiliser pour les requêtes basiques, comme récupérer des objets avec des clause where et join. Mais il est beaucoup moins à l'aise lorsque les requêtes sont avancées avec des Count, Group by etc...
Avantages Doctrine:

Doctrine, basée sur le pattern ActiveRecord, facilite l'otimisation des données à récupérer. Cet Orm raccorucie les temps de développement.
C'est l'avenir dans Symfony, car dès la version 2.0, Doctrine devient l'Orm par défaut dans symfony. Propel sera toujours supporté, mais laisse la place à Doctrine.
Une table ou un enregistrement de celle-ci est percu comme un langage sur lequel il est possible d'appliquer des actions : les méthodes.
L'avantage de cette approche est de s'abstraire complètement de la tenchnologie de bases de données qui fonctionne en arrière-plan.
A partir d'un modèle de données définis, Doctrine construit entièrement la base de données pour le SGBD choisi, ainsi que les classes permettant d'interroger la base de données au travers d'objets.
Grâce aux relations qui lient les tables entre elles, Doctrine est capable de retrouver tous les enregistrements d'une table qui dépendent d'un autre enregistrement dans une seconde table.
Texte tiré du livre Symfony, mieux developper en php avec Symfony 1.2 et Doctrine de Fabien Potencier et Hugo Hamon dans la collection Les cahiers du Programmeur aux éditions Eyrolles.
Avantages de Propel :

Un des avantages de Propel est de générer du code pour les méthodes et requêtes. Du coup, on a une trace du code généré, et cela est beaucoup plus pratique pour le debugage.
D'autres parts, Propel est facile à utiliser pour les requêtes basiques, comme récupérer des objets avec des clause where et join. Mais il est beaucoup moins à l'aise lorsque les requêtes sont avancées avec des Count, Group by etc...
Avantages Doctrine:

Doctrine, basée sur le pattern ActiveRecord, facilite l'otimisation des données à récupérer. Cet Orm raccorucie les temps de développement.
C'est l'avenir dans Symfony, car dès la version 2.0, Doctrine devient l'Orm par défaut dans symfony. Propel sera toujours supporté, mais laisse la place à Doctrine.
Publicité