Helper Registry


1Presentación

Este helper se usa para almacenar datos de forma más limpia que usando variables globales.

Los datos almacenados en un registro se pueden acceder (lectura y escritura) de tres formas diferentes: mediante getters/setters, mediante una notación orientada a objetos, o mediante una notación de tipo array.


2Uso

// crea un nuevo registro
$registry = new \Temma\Utils\Registry();
// crea un registro y define datos iniciales
$registry = new \Temma\Utils\Registry([
    'foo' => 'bar',
    'abc' => 'xyz',
]);

// lee un archivo INI y almacena sus datos en el registro
$registry->readIni('/path/to/file.ini');
// lee un archivo JSON y almacena sus datos en el registro
$registry->readJson('/path/to/file.json');
// lee un archivo XML y almacena sus datos en una clave del registro
$registry->readXml('/path/to/file.xml', 'config');

// accede a datos del registro (tres métodos, mismo resultado)
print($registry->get('foo'));
print($registry->foo);
print($registry['foo']);

// añade datos al registro (tres métodos, mismo resultado)
$registry->set('foo', 'bar');
$registry->foo = 'bar';
$registry['foo'] = 'bar';

// añade varios datos en una sola llamada
$registry->set([
    'foo' => 'bar',
    'abc' => 'xyz',
]);

// comprueba si el dato existe (tres métodos, mismo resultado)
if ($registry->isset('foo'))
    print('OK');
if (isset($registry->foo))
    print('OK');
if (isset($registry['foo']))
    print('OK');

// elimina datos (tres métodos, mismo resultado)
$registry->unset('foo');
unset($registry->foo);
unset($registry['foo']);