PMO v 0.12 est sorti

Posté par  (site web personnel) . Modéré par Bruno Michel.
Étiquettes :
1
31
déc.
2007
PHP
PhpMyObject est une bibliothèque d'Object Relational Mapping en PHP (ORM).

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 Cette nouvelle version de PMO v 0.12 a bénéficiée d'optimisations, ce qui permet d'accroître les performances par un facteur allant de deux à dix en fonction des cas d'utilisations. Vous pouvez vous référer à ce sujet au lien vers les benchmarks.

Les améliorations les plus importantes se trouvent notamment dans le cache des tables, le class loader, l'aliasing. Il s'agit de fonctionnalités qui permettent d'avoir plus de contrôle sur le paramétrage de PMO.

Pour l'occasion de la v 0.12, le code a également été entièrement commenté et nettoyé.

Aller plus loin

  • # Grande question pour PMO...

    Posté par  . Évalué à 1.

    Peut-on enfin faire autre chose que du SELECT *, c'est à dire SELECT field1,field2,...,fieldn ?
    • [^] # Re: Grande question pour PMO...

      Posté par  (site web personnel) . Évalué à 1.

      Le parser SQL a une méthode getField, mais aucun patch n'a été proposé dans ce sens au niveau de la class sgbd, comme ça n'était pas ma priorité, et qu'il y a 2 besoins contradictoires exprimés, ca a été déscopé de la v 0.11, cela fera parti des fonctionnalités 2008.
      • [^] # Re: Grande question pour PMO...

        Posté par  . Évalué à 2.

        il y a 2 besoins contradictoires exprimés

        teuh teuh teuh

        tu sais, les restaurants, ils ne décident pas fromage ou dessert quand ils ouvrent suivant une étude de marché ou la tendance du moment : ils laissent le choix au client, comme pour le reste de la carte.
  • # C'est moi ou...

    Posté par  . Évalué à 2.

    ... le titre est très mal formulé ?!?
    • [^] # Re: C'est moi ou...

      Posté par  . Évalué à 2.

      Ça dépend peut-être qu'au pays du soleil levant et compte tenu du décalage horaire ils était déjà en 2008 :p
      • [^] # Re: C'est moi ou...

        Posté par  . Évalué à 2.

        Non je le trouve trés bien formulé !

        Il est sortit en 2007 mais pour une utilisation en 2008 !
  • # Active record pattern

    Posté par  . Évalué à 2.

    Parce que le lien donnée est avare en informations (à part faire de la pub pour un bouquin), voici celui de l'article Wikipedia: http://en.wikipedia.org/wiki/Active_record_pattern .

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.