NEON is a human-friendly data serialization language. It is used in Nette for configuration files.Nette\Neon\Neon is a static class for working with NEON.
Get to knowNEON format andtry it out.
The following examples use these aliases:
use Nette\Neon\Neon;
Installation
Download and install the package usingComposer:
composer require nette/neon
You can check for syntax errors in*.neon
files using theneon-lint
console command:
vendor/bin/neon-lint <path>
encode(mixed $value,bool $blockMode=false,string $indentation="\t"
): string
Returns$value
converted to NEON. As the parameter$blockMode
you can pass true, which will createmultiline output. The parameter$indentation
specifies the characters used for indentation (default is tab).
Neon::encode($value); // Returns $value converted to NEONNeon::encode($value, true); // Returns $value converted to multiline NEON
Methodencode()
throwsNette\Neon\Exception
on error.
try {$neon = Neon::encode($value);} catch (Nette\Neon\Exception $e) {// Exception handling}
decode(string $neon):mixed
Converts given NEON to PHP value.
Returns scalars, arrays,date as DateTimeImmutable objects, andentities asNette\Neon\Entity objects.
Neon::decode('hello: world'); // Returns an array ['hello' => 'world']
Methoddecode()
throwsNette\Neon\Exception
on error.
try {$value = Neon::decode($neon);} catch (Nette\Neon\Exception $e) {// Exception handling}
decodeFile(string $file): mixed
Converts the contents of the file from NEON to PHP and removes any BOM.
Neon::decodeFile('config.neon');
MethoddecodeFile()
throwsNette\Neon\Exception
on error.