La persistence d'objets en PHP, les outils de mapping

La persistence d'objets en PHP, les outils de mapping - PHP - Programmation

Marsh Posté le 31-07-2006 à 21:52:14    

Salut,
 
J'aimerais faire du "object-relational mapping", sous PHP, pour cela il existe plusieurs "projets" open source permettant de faciliter cette création de couche objets liée à la BD.
 
Un exemple de ce qui se fait :http://wiki.cc/php/Object-relational_mapping.
 
Avez-vous déjà travaillé avec l'un de ces outils? Si oui lequel vous a convenu?
 
On m'a récemment conseillé Propel, pouvez-vous me donner un retour d'expérience sur ce dernier?

Reply

Marsh Posté le 31-07-2006 à 21:52:14   

Reply

Marsh Posté le 05-05-2008 à 13:57:06    

Salut,
 
Pour avoir un aperçu des ORM en PHP tu peux consulter ce lien :
www.ljouanneau.com/blog/2007/11/29 [...] es-orm-php  
 
L'auteur étant le créateur de Jelix le bench me semble assez orienté mais doit démontrer les tendances.
 
J'ai pas mal étudié les ORM et pour moi Propel à un grand désavantage : il ne stocke pas les requettes.
 
Pour ma part, j'opte pour un système de procédures stockées en php, avec requettes paramètrables.  
 
Propel utilise un générateur de requettes pour générer les chaines, du coup je ne suis pas convaincu du point de vue méthodologique.
 
Je part du principe qu'un ORM est là pour séparer le code et la partie base de données - le développeur accédant aux informations à travers des collections d'objets fortement typés. Propel ne gére qu'un partie de tout ça.
 
J'ai fait mon propre outil répondant à plusieurs manques :
 - Fichiers de définition XML compliqués
--> Je me base sur le générateur de DataSets de Visual Studio
 
 - Framework de fonctions Complexes
--> Les fonctions créés sont celles définies par les requettes avec les arguments définis dans celles-ci
 
 - Peu évolutif
--> Vous pouvez en héritage objet étendre l'ensemble des fonctionnalités de sources générées.
 
Fais un tour sur http://pdomap.sourceforge.net/ et dis-moi ce que tu en penses.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed