Les ORM sont utilisés pour mettre en oeuvre la couche modèle des architectures MVC : on les retrouve dans les frameworks comme une interface objet pour dialoguer avec le SGBD.
Les différences notables entre PMO et les autres ORM PHP sont les suivantes :
- PMO fait du relationnel 1:n, n:m sans avoir à décrire les relations dans des fichiers XML ;
- PMO ne se substitue pas au langage SQL ;
- Il ne nécessite pas de d'écrire les schémas des tables dans des fichiers XML ;
- Il implémente le design pattern active record (comme RoR) ;
- Il utilise des interfaces, des méthodes castées, tous les objets sont donc remplaçables sans effort ;
- La classe modèle est générique, et on peut explicitement déclarer d'autres classes modèles au cas par cas pour chaque table ;
- Il implémente des classes de listes pour stocker et manipuler les classes modèles.
NdM : PMO est un logiciel libre sous licence GPLv3