| auteur : Guillaume Rossolini |
EZPDO est une bibliothèque écrite en PHP, elle a besoin des extensions tokenizer, xml, simplexml et sqlite pour fonctionner.
Enfin, il faut placer quelque part un fichier de configuration comme celui-ci :
config.xml | <? xml version="1.0" encoding="ISO-8859-1" ? >
< options >
< source_dirs > classes< / source_dirs >
< compiled_dir > compiled< / compiled_dir >
< default_dsn > mysql://Yogui:motdepasse@localhost/developpez< / default_dsn >
< / options >
|
|
lien : Comment installer une bibliothèque ?
lien : Comment installer une extension pour PHP ?
|
| auteur : Guillaume Rossolini |
EZPDO utilise les commentaires du code source PHP pour deviner la structure de la BDD (c'est la persistance). C'est le tag "@orm" (syntaxe phpDocumentor) qui est utilisé.
|
| auteur : Guillaume Rossolini |
Il faut agir sur les données pour qu'EZPDO crée les tables dans la BDD : un ajout ou une suppression feront l'affaire.
|
| auteur : Guillaume Rossolini |
Prenons l'exemple d'un utilisateur ayant un nom et un mot de passe. Le champ eoid (identifiant numérique auto incrémenté) est ajouté automatiquement par EZPDO.
models/User.php | <?php
class User
{
15
public $ name ;
40
public $ password ;
}
?>
|
index.php | <?php
include_once ' classes/ezpdo_runtime.php ' ;
include_once ' models/User.php ' ;
$ db = epManager: : instance();
$ user = $db ->create (' User ' );
$user ->name = ' Yogui ' ;
$user ->password = strval(sha1(' 1234 ' ));
$ user = $db ->create (' User ' );
$user ->name = ' BrYs ' ;
$user ->password = strval(sha1(' 4321 ' ));
$db ->flush ($ user );
?>
|
|
| auteur : Guillaume Rossolini |
Prenons l'exemple d'un utilisateur ayant un nom et un mot de passe.
models/User.php | <?php
class User
{
15
public $ name ;
40
public $ password ;
}
?>
|
Liste complète | <?php
include_once ' classes/ezpdo_runtime.php ' ;
include_once ' models/User.php ' ;
$ db = epManager: : instance();
$ users = $db ->find ($db ->create (' User ' ));
foreach ($ users as $ user )
{
echo $user ->name . ' <br /> ' ;
}
?>
|
Liste filtrée | <?php
include_once ' classes/ezpdo_runtime.php ' ;
include_once ' models/User.php ' ;
$ db = epManager: : instance();
$ user = $db ->create (' User ' );
$user ->name = ' Yogui ' ;
$ users = $db ->find ($ user );
foreach ($ users as $ user )
{
echo $user ->name . ' <br /> ' ;
}
?>
|
|
| auteur : Guillaume Rossolini |
Prenons l'exemple d'un utilisateur ayant un nom et un mot de passe.
models/User.php | <?php
class User
{
15
public $ name ;
40
public $ password ;
}
?>
|
<?php
include_once ' classes/ezpdo_runtime.php ' ;
include_once ' models/User.php ' ;
$ db = epManager: : instance();
$ user = $db ->create (' User ' );
$user ->name = ' Yogui ' ;
$ users = $db ->find ($ user );
foreach ($ users as $ user )
{
$user ->name = ' Yog ' ;
$db ->commit ($ user );
}
?>
|
|
| auteur : Guillaume Rossolini |
Prenons l'exemple d'un utilisateur ayant un nom et un mot de passe.
models/User.php | <?php
class User
{
15
public $ name ;
40
public $ password ;
}
?>
|
<?php
include_once ' classes/ezpdo_runtime.php ' ;
include_once ' models/User.php ' ;
$ db = epManager: : instance();
$ user = $db ->create (' User ' );
$user ->name = ' Yogui ' ;
$ users = $db ->find ($ user );
foreach ($ users as $ user )
{
$db ->delete ($ user );
}
?>
|
|
| auteur : Guillaume Rossolini | models/User.php | <?php
class User
{
15
public $ name ;
40
public $ password ;
}
?>
|
index.php | <?php
include_once ' classes/ezpdo_runtime.php ' ;
include_once ' models/User.php ' ;
$ db = epManager: : instance();
$db ->deleteAll (' User ' );
?>
|
|
| auteur : Guillaume Rossolini |
Prenons l'exemple d'un utilisateur (nom + mot de passe) qui écrit des messages (titre + texte).
models/User.php | <?php
class User
{
public $ messages ;
15
public $ name ;
40
public $ password ;
}
?>
|
models/Message.php | <?php
class Message
{
public $ user ;
50
public $ title ;
1000
public $ text ;
}
?>
|
index.php | <?php
include_once ' classes/ezpdo_runtime.php ' ;
include_once ' models/User.php ' ;
include_once ' models/Message.php ' ;
$ db = epManager: : instance();
$ message_1 = $db ->create (' Message ' );
$message_1 ->title = ' test 1 ' ;
$ message_2 = $db ->create (' Message ' );
$message_2 ->title = ' test 2 ' ;
$ message_3 = $db ->create (' Message ' );
$message_3 ->title = ' test 3 ' ;
$ user = $db ->create (' User ' );
$user ->name = ' Yogui ' ;
$user ->password = strval(sha1(' 1234 ' ));
$user ->messages = array ($ message_1 , $ message_2 );
$ user = $db ->create (' User ' );
$user ->name = ' BrYs ' ;
$user ->password = strval(sha1(' 4321 ' ));
$user ->messages = $ message_3 ;
$db ->flush ();
$ user = $db ->create (' User ' );
$ users = $db ->find ($ user );
foreach ($ users as $ user )
{
echo $user ->name . ' <br /> ' ;
foreach ($user ->messages as $ message )
{
echo $message ->title . ' <br /> ' ;
}
}
?>
|
|
Consultez les autres F.A.Q.
Les sources présentés sur cette page sont libres de droits,
et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs.
Copyright ©2003
Developpez LLC. Tous droits réservés Developpez LLC.
Aucune reproduction, même partielle, ne peut être faite de ce site et de
l'ensemble de son contenu : textes, documents et images sans l'autorisation
expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans
de prison et jusqu'à 300 000 E de dommages et intérêts.
Cette page est déposée à la SACD.
|