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)