Journal Pmo version 0.08

Posté par  (site web personnel) .
Étiquettes : aucune
0
12
août
2007
Salut Journal,

Une nouvelle version de l'APi PhpMyObject est sortie.
http://pmo.developpez.com

Pmo est une couche d'abstration entre le sgbd et votre application PHP qui implémente le design pattern Active record.

citation de wikipedia:
En génie logiciel, le patron de conception (design pattern) active record est une approche pour lire les données d'une base de données. Les attributs d'une table ou d'une vue sont encapsulés dans une classe. Ainsi l'objet, instance de la classe, est lié à un tuple de la base. Après l'instanciation d'un objet, un nouveau tuple est ajouté à la base au moment de l'enregistrement. Chaque objet récupère ses données depuis la base; quand un objet est mis à jour, le tuple auquel il est lié l'est aussi. La classe implémente des accesseurs pour chaque attribut.

http://fr.wikipedia.org/wiki/Active_record_(patron_de_concep(...)

PMO est compatible avec les SGBD: Oracle, Interbase, Mysql, Mysqlite, Postgresql

Voici ce qu'apporte cette nouvelle version:
- des nouveaux accesseurs
- des factory pour les objets

un exemple de code qui permet de récupérer 2 objets à partir de 2 tables:


require_once("core/PMO_MyControler.php");

$controler = new MyControler();
$map = $controler->queryControler("SELECT * FROM film,actor
WHERE film.actor_id=actor.actor_id ;");

while ($result = $map->fetchMap()){
echo($result['film']->nom_film);
echo($result['actor']->nom_actor);
}


Plus de détails sur le manuel en ligne:
http://pmo.developpez.com/manuel/
  • # I'idée est bonne ...

    Posté par  . Évalué à 1.

    Trés bonne même, mais malheureusement inutilisable en production :

    PMO ne gère pas le lazy loading (pour le moment). Il faut donc utiliser des SELECT * PMO vous permettra ensuite d'affiner la manipulation des données.


    C'est vraiment domage, je testerai quand les SELECT pourront être plus affinées.

Suivre le flux des commentaires

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