Helper Registry


1Apresentação

Este helper é usado para armazenar dados de forma mais organizada do que usando variáveis globais.

Os dados armazenados em um registro podem ser acessados (leitura e escrita) de três formas diferentes: por meio de getters/setters, por meio de uma notação orientada a objetos, ou por meio de uma notação semelhante a um array.


2Uso

// cria um novo registro
$registry = new \Temma\Utils\Registry();
// cria um registro e define dados iniciais
$registry = new \Temma\Utils\Registry([
    'foo' => 'bar',
    'abc' => 'xyz',
]);

// lê um arquivo INI e armazena seus dados no registro
$registry->readIni('/path/to/file.ini');
// lê um arquivo JSON e armazena seus dados no registro
$registry->readJson('/path/to/file.json');
// lê um arquivo XML e armazena seus dados em uma chave do registro
$registry->readXml('/path/to/file.xml', 'config');

// acessa dados do registro (três métodos, mesmo resultado)
print($registry->get('foo'));
print($registry->foo);
print($registry['foo']);

// adiciona dados ao registro (três métodos, mesmo resultado)
$registry->set('foo', 'bar');
$registry->foo = 'bar';
$registry['foo'] = 'bar';

// adiciona vários dados em uma única chamada
$registry->set([
    'foo' => 'bar',
    'abc' => 'xyz',
]);

// verifica se o dado existe (três métodos, mesmo resultado)
if ($registry->isset('foo'))
    print('OK');
if (isset($registry->foo))
    print('OK');
if (isset($registry['foo']))
    print('OK');

// remove dados (três métodos, mesmo resultado)
$registry->unset('foo');
unset($registry->foo);
unset($registry['foo']);