PHP : classe datapath
Par J.Ducastel le mercredi 25 octobre 2006, 15:58 - Potions - Lien permanent
Cette classe permet d'accéder à une variable multidimensionnelle (tableaux et objets) via une syntaxe d'adressage. Le but etant de pouvoir manipuler dynamiquement de tels objets.
Toutes les methodes de cette classe sont à usage statique, et travaillent directement sur une référence de la variable à manipuler.
$data=array(
'membres'=>array(
array('nom'=>'dupont','prenom'=>'michel')
, array('nom'=>'martin','prenom'=>'roselyne')));
// ceci va afficher roselyne
echo datapath::get($data,'membres.1.prenom');
// ceci ajoute un element
$membre=array('nom'=>'dupuis','prenom'=>'pascal');
datapath::set($data,$membre,'membres.2');
Méthodes publiques
- string separator([string $new]) :
retourne le separateur actuel de segments de chemin (
.
par defaut - mixed get(mixed &$data, string $path) : retourne l'element pointé par le chemin $path.
- bool set(mixed &$data, mixed $value, string $path) : definit la valeur de l'element pointé par le chemin $path au sein de la variable $data.
- bool setRef(mixed &$data, mixed $ref, string $path) : definit par référence la valeur de l'élément pointé par le chemin $path au sein de la variable $data.
Quelques methodes supplémentaires sont prévues, notamment en ce qui concerne l'itération, l'application de fonctions, tri, test etc.
Est également prévu une extension de la syntaxe, avec l'ajout de jokers et/ou de selecteurs de valeur à la xpath.
Edit 28/11/2007 : Télécharger le kit de la classe (voir le billet Webappkit)
