Débuter avec PHP
Sondages PHP
Comparatifs PHP
Les meilleures ressources PHP
Autres débats PHP
FAQ PHP
auteur : Nicolas Boiteux
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 : Qu'est-ce que PDO ?
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.
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.
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();
?>
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();
?>
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();
?>
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();
?>
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);
}
?>
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/ .
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.