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.

versão: 3.4