Trabalhando com NEON
NEON é uma linguagem de serialização de dados legível por humanos. É usado no Nette para arquivos de configuração. Nette\Neon\Neon é uma classe estática para trabalhar com NEON.
Familiarize-se com o formato NEON e experimente.
Todos os exemplos assumem que um alias foi criado:
use Nette\Neon\Neon;
Instalação
Baixe e instale a biblioteca usando o Composer:
composer require nette/neon
Você pode verificar erros de sintaxe em arquivos *.neon
usando o comando de console neon-lint
:
vendor/bin/neon-lint <caminho>
encode (mixed $value, bool $blockMode=false,
string $indentation="\t"
): string
Retorna $value
convertido para NEON. Como parâmetro $blockMode
, você pode passar true, o que
criará uma saída multilinha. O parâmetro $indentation
especifica os caracteres usados para indentação
(o padrão é tabulação).
Neon::encode($value); // Retorna $value convertido para NEON
Neon::encode($value, true); // Retorna $value convertido para NEON multilinha
O método encode()
lança Nette\Neon\Exception
em caso de erro.
try {
$neon = Neon::encode($value);
} catch (Nette\Neon\Exception $e) {
// tratamento da exceção
}
decode (string $neon): mixed
Converte uma string de NEON para PHP.
Retorna escalares, arrays, datas como objetos DateTimeImmutable e entidades como objetos Nette\Neon\Entity.
Neon::decode('hello: world'); // Retorna o array ['hello' => 'world']
O método decode()
lança Nette\Neon\Exception
em caso de erro.
try {
$value = Neon::decode($neon);
} catch (Nette\Neon\Exception $e) {
// tratamento da exceção
}
decodeFile (string $file): mixed
Converte o conteúdo de um arquivo de NEON para PHP e remove qualquer BOM.
Neon::decodeFile('config.neon');
O método decodeFile()
lança Nette\Neon\Exception
em caso de erro.