Les ORM

Les ORM PHP

Doctrine

Doctrine est un objet relationnel mapper (ORM) pour PHP 5.2.3 + qui se trouve au sommet d'une puissante couche d'abstraction de base de données (DBAL). L'une de ses principales caractéristiques est la possibilité d'écrire les requêtes dans une base de données objet de propriété axée sur la doctrine appelée dialecte SQL Query Language (dql), inspiré par Hiberne HQL. Cela fournit aux développeurs une puissante alternative à la SQL qui maintient la flexibilité sans nécessiter de code inutilement dupliqué.

Ressources PHP Doctrine

Propel

Propel pour PHP5 >= 5.0.0RC1, supportant les bases de données : MySQL, PostgreSQL, SQLite, MS SQL Server. Développement d'un pilote Oracle est en cours. Propel utilisait comme couche d'abstraction de base de données : Creole, mais "The Creole Project is Dead. Propel has since moved on to use PDO"

Comparatifs et liste des ORM pour php.

  • developpez.com, Quelles sont les solutions d'ORM en PHP ? Doctrine, EZPDO, Metastorage, Propel, sfDoctrine, Zend_Db_Table
  • phpindex.com. Comparatif 2009 entre : Doctrine, Propel, PHPMyObject, JDAO. Citation d'autres :PHPDataMapper, Repose, Outlet, Kohana
  • Doctrine vs. Propel: 2009 update
  • Comparatif 2007 des performances des ORM PHP par jyBlog entre Doctrine, Propel, phpMyObject et jDao
  • Les ORM de PHP par noidea.ca, comparaison entre Zend DB, Doctrine et Propel :
Zend DB Doctrine Propel
Outil de unit tests non oui non
Gestion des contraintes Oui Super oui
Load Balancing des requetes (Master-Slave) non oui non
Lazy Load Oui oui non
Format des Shemas PHP ou Dynamic YAML converti en php XML
Controle des Transactions Oui oui non
Caching non Super non
Connection persistante non ? non
Profiler Oui oui non- mais log error
Langage “xQL” Oui oui Oui – mauvais
Raw SQL Oui oui oui
Stored Proc. Et Prepared Statement Oui oui oui
Querying for a set of Rows Oui oui oui
Costumizable Insert / update / delete Oui oui Probablement ?
Documentation bonne bonne Faible
Facilite d’intallation bonne moyenne* bonne
Facilite d’utilisation bonne moyenne* bonne
Outil de Migration non oui non
Outil de Performance non oui non
Validation de données selon le schema non oui super

Les ORM JAVA

EJB (Enterprise JavaBeans) et JPA (Java Persistence API) , JDO (Java Data Objects)

L'API JPA (Java Persistence API) apparue avec Java 5. JPA crée un pont relationnel / objet entre les tables d'une base de données liées par des relations et le monde objet manipulé par les applications Java. En ce sens, JPA est un ORM (Object Relational Mapping). Hibernate, qui existe depuis plusieurs années déjà, est probablement l'ORM le plus utilisé actuellement. JPA a tenu compte du succès d'Hibernate et en a repris la plupart des concepts. JPA est une spécification.

Hibernate

Liste des ORM JAVA :

Ressources