IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

FAQ PHP

logo
Sommaire > Bases de données > Mapping objet relationnel (ORM) et persistance > PhpMyObject
        Qu'est ce que PMO ?
        Comment installer PMO ?
        Comment fonctionne PMO ?
        Comment gérer la persistance avec PMO ?
        Comment ajouter un tuple avec PMO ?
        Comment charger un seul tuple avec PMO ?
        Comment modifier un tuple avec PMO ?
        Comment supprimer un tuple avec PMO ?
        Comment charger plusieurs objets en même temps avec PMO ?
        Comment modifier l'aliasing avec PMO ?
        Comment déclarer manuellement un schéma de table avec PMO ?



Qu'est ce que PMO ?
auteur : Nicolas Boiteux
fr PhpMyObject est un ORM pour PHP.


Comment installer PMO ?
auteur : Nicolas Boiteux
Il faut télécharger les dernières sources : http://pmo.developpez.com/

PHP 5.1 >= est nécessaire.

PMO peut utiliser le driver MySQL ou PostgreSQL de PHP, ou bien PDO (dans ce cas il faut qu'il soit activé dans PHP).

lien : faq Qu'est-ce que PDO ?

Comment fonctionne PMO ?
auteur : Nicolas Boiteux
PMO sert à interroger votre SGBD et à recevoir des objets PHP en retour. Il suffit d'inclure la classe contrôleur dans votre script PHP.


Comment gérer la persistance avec PMO ?
auteur : Nicolas Boiteux
PMO découvre le schéma des tables lors de la première execution de la requête SQL. À partir de ces schémas, il crée des classes qu'il place dans le répertoire cache/. PMO n'a plus besoin d'interroger ensuite le SGBD pour découvrir le schéma, il utilise directement ces classes.


Comment ajouter un tuple avec PMO ?
auteur : Nicolas Boiteux
Prenons l'exemple d'une table utilisateur qui est défini comme cela dans le SGBD :
champs id autoincrement primary key
champs name
champs password
Voici le script PHP :
<?php

require_once 'PMO_Core/PMO_MyController.php';

$user = PMO_MyObject::factory('utilisateur');
$user->name = 'toto';
$user->password = 'monpassword';
$user->commit();
?>

Comment charger un seul tuple avec PMO ?
auteur : Nicolas Boiteux
Pour charger un tuple, il faut renseigner les primary key et utiliser load(). Prenons l'exemple de cette table :
champs id autoincrement primary key
champs name
champs password
Voici le script PHP :
<?php

require_once 'PMO_Core/PMO_MyController.php';

$user = PMO_MyObject::factory('utilisateur');
$user->id = 1;
$user->load();

?>

Comment modifier un tuple avec PMO ?
auteur : Nicolas Boiteux
Pour modifier un tuple, il faut déjà avoir l'objet PMO correspondant et faire un commit(). Prenons l'exemple de cette table :
champs id autoincrement primary key
champs name
champs password
Voici le script PHP :
<?php

require_once 'PMO_Core/PMO_MyController.php';

$user = PMO_MyObject::factory('utilisateur');
$user->id = 1;
$user->load();

$user->name = "nouveau nom";
$user->commit();

?>

Comment supprimer un tuple avec PMO ?
auteur : Nicolas Boiteux
Pour supprimer un tuple, il faut déjà avoir l'objet PMO correspondant et faire un delete(). Prenons l'exemple de cette table :
champs id autoincrement primary key
champs name
champs password
Voici le script PHP :
<?php

require_once 'PMO_Core/PMO_MyController.php';

$user = PMO_MyObject::factory('utilisateur');
$user->id = 1;
$user->load();

$user->delete();

?>

Comment charger plusieurs objets en même temps avec PMO ?
auteur : Nicolas Boiteux
PMO permet de récupérer des objets de différents types et gérer également les relations entre objets
<?php

require_once 'PMO_Core/PMO_MyController.php';

$controller = new PMO_MyController();
$map = $controller->queryController("select * from utilisateur,ville where utilisateur.id_ville=ville.id_ville;");

while ($result = $map->fetchArray()){
    $utilisateur = $result['utilisateur'];
    $ville = $result['ville'];

    echo($utilisateur->nom);
    echo($ville->nom);
}

?>

Comment modifier l'aliasing avec PMO ?
auteur : Nicolas Boiteux
Pour modifier la correspondance entre nom de la colonne d'une table dans le SGBD et le nom que vous allez utiliser dans votre code, il faut modifier la variable table_alias dans la classe correspondante dans le répertoire cache/.


Comment déclarer manuellement un schéma de table avec PMO ?
auteur : Nicolas Boiteux
Si PMO ne découvre pas le schéma de votre table automatiquement, vous pouvez l'écrire vous-même en créant une classe portant le nom de la table dans le répertoire cache/.



Consultez les autres F.A.Q.


Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2003 Developpez.com Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.