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.