PMO s'adresse donc à tous les développeurs qui veulent faire de l'orienté objet en PHP5. Quelques mots sur le fonctionnement :
PMO découpe les résultats renvoyés par le SGBD et les convertit en objets. Il renvoie une map d’objets que le développeur peut manipuler grâce à des méthodes. Cela apporte un gain de temps significatif car le développeur n'a plus besoin de coder une classe utilisateur s'il a une table utilisateur, une classe commande, s'il a une classe commande, etc. PMO va créer dynamiquement ces classes et les mettre à disposition de l'application.
Il existe plusieurs ORM (Hibernate pour Java, Active Record qui a grandement contribué au succès de Ruby on Rails). PMO vient donc agrandir la famille des ORM PHP (Dropel, Doctrine, EZPDO). Il se distingue sur les points suivants :
- PMO est une véritable API
- PMO est simple à mettre en ½uvre (pas besoin de déclarer le schéma de la base de donnée dans des fichiers XML)
- PMO gère les relations entre objets, et l’unicité des objets
- PMO gère le polymorphisme et permet d’utiliser des classes étendues
Je vous invite à consulter le site officiel qui contient des exemples de code et de plus amples informations sur le fonctionnement de PMO.
Aller plus loin
- Le site officiel PMO (11 clics)
- Le screencast présentant la v0.06 (4 clics)
# ORM pour Erlang
Posté par Temsa (site web personnel) . Évalué à 2.
Etant developpeur utilisant Java/Spring/Hibernate/DWR/Tapestry5/Struts côté serveur, j'ai trouvé Yaws ( http://yaws.hyber.org/ ) en serveur web/d'application (utilisable comme un apache haute disponibilité), Erlyweb ( http://erlyweb.org/ , http://erlyweb.org/doc/ ) en framework fournissant notamment ErlyDB ( http://erlyweb.org/doc/erlydb.html ) pour l'ORM.
En un sens, et vu la nouvelle évolution des processeurs ( multiplication des cores ) il va falloir changer notre façon de programmer, et le langage qui me parait le plus indiqué pour le faire est l'Erlang puisqu'il est fait pour permettre de passer de 1 à N core avec quasiment un facteur N d'amélioration de performances (les cores peuvent partager la memoire ou non aussi, ce n'est pas un problème à gérer côté développeur... Alors qu'avec les autre langages, proposant des threads dans une memoire partagee... ça pose plus de problèmes).
J'avoue ne pas avoir encore beaucoup pratiqué, mais du coup après avoir vu tout ça je trouve dommage que tu n'ai pas mis l'Erlang/Yaws/ErlyWeb parmis les alternatives :)
Sinon bon courage pour le de votre ORM, mon experience d'hibernate me fait dire que ça m'est devenu indispensable ;)
[^] # Re: ORM pour Erlang
Posté par ccomb (site web personnel) . Évalué à 2.
(oui je sais, désolé, c'est une news php)
[^] # Re: ORM pour Erlang
Posté par patrick_g (site web personnel) . Évalué à 5.
Pourquoi est-ce que tu ne prend pas un peu de temps pour rédiger une belle news alors ?
[^] # Re: ORM pour Erlang
Posté par Antoine . Évalué à 3.
J'ai regardé le tutoriel, et même si l'API a l'air assez sympa, ça semble pour l'instant loin de SQLAlchemy. Par exemple la création de tables n'est pas comprise dans l'abstraction de DB, résultat on doit taper des "CREATE TABLE" à la main avec toutes les incompatibilités inter-DB que ça génère.
Par contre l'intégration Twisted, si elle est faite correctement peut faire la différence par rapport à SQLAlchemy qui n'a rien de satisfaisant dans le domaine.
# Newsgroup
Posté par Code34 (site web personnel) . Évalué à 1.
http://groups.google.fr/group/pmo-dev?hl=fr
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.