Au sein d'une application web à but pédagogique en PHP5, j'utilise des objets dont les valeurs des attributs sont elles-même des objets ou des tableaux dont les valeurs sont des objets. Quelque chose du genre suivant :
<?php
class variable{
public $description;
public $nom;
public $type;
public function verifie_type(){
// instructions de vérification
}
}
class fonction{
public $auteur;
public $description;
public $code;
public $variables = array();
public function execute_toi(){
// Instructions d'exécution
}
// ...
}
$a = new variable;
$a->description = " est un nombre compris entre 2 et 12.";
$a->nom = "\$a";
$a->type = "integer";
$b = new variable;
$b->description = " est le nom d'une inconnue mathématique ('x', 'y'...)";
$b->nom = "\$b";
$b->type = "string";
$f = new fonction;
$f->auteur = "Philippe";
$f->description = "Demande le double ou le carré d'un monome.";
$f->code = " \$cd = (mt_rand(0,1) == 0) ? 'carré' : 'double';
return \"Que vaut le \$cd de \$a\$b ?\";";
$f->variables = array($a,$b);
?>
De fait, dans mon application, il y a quatre niveaux "d'objet dont les attributs sont des objets dont etc."Je cherche à stoker des instances de la classe fonction dans une base de données mySQL. J'utilise PDO avec la méthode PDO::fetchObject(). Mais je n'ai pas trouvé avec la documentation en-ligne et celle dont je dispose de méthode efficace pour écrire et recharger un tel objet.
Quelqu'un aurait-il une piste à me suggérer ? Ou bien est-ce la structuration des données qui est à revoir ?
Cordialement.
jmb