Helper Registry


1Présentation

Le "registre" sert à stocker des données plus proprement qu'en utilisant des variables globales.

L'accès (en lecture et en écriture) aux données stockées dans un registre peut se faire de trois manières différentes : en passant par des getters/setters, en passant par une notation orientée objet, ou en passant par une notation comme un tableau.


2Utilisation

use \Temma\Utils\Registry as TµRegistry;

// création d'un registre
$registry = new TµRegistry();
// création d'un registre avec initialisation des données
$registry = new TµRegistry([
    'foo' => 'bar',
    'abc' => 'xyz',
]);

// lit un fichier INI et stocke son contenu dans le registre
$registry->readIni('/chemin/vers/fichier.ini');
// lit un fichier JSON et stocke son contenu dans le regsitre
$registry->readJson('/chemin/vers/fichier.json');
// lit un fichier XML et stocke son contenu dans la clé 'config'
$registry->readXml('/chemin/vers/fichier.xml', 'config');

// lecture des données du registre (trois manières, même résultat)
print($registry->get('foo'));
print($registry->foo);
print($registry['foo']);

// ajout de données au registre (trois manières, même résultat)
$registry->set('foo', 'bar');
$registry->foo = 'bar';
$registry['foo'] = 'bar';

// ajout de données multiples
$registry->set([
    'foo' => 'bar',
    'abc' => 'xyz',
]);

// vérification de l'existence d'une donnée (trois manières, même résultat)
if ($registry->isset('foo'))
    print('OK');
if (isset($registry->foo))
    print('OK');
if (isset($registry['foo']))
    print('OK');

// effacement de données (trois manières, même résultat)
$registry->unset('foo');
unset($registry->foo);
unset($registry['foo']);