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.