Working with NEON
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 know the NEON format and try it out.
All examples assume the following alias is defined:
use Nette\Neon\Neon;
Installation
Download and install the package using Composer:
composer require nette/neon
You can check for syntax errors in *.neon
files using the neon-lint
console command:
vendor/bin/neon-lint <path>
encode (mixed $value, bool $blockMode=false,
string $indentation="\t"
): string
Returns $value
converted to NEON. You can pass true
to the $blockMode
parameter to
create multiline output. The $indentation
parameter specifies the characters used for indentation (default
is tab).
Neon::encode($value); // Returns $value converted to NEON
Neon::encode($value, true); // Returns $value converted to multiline NEON
The encode()
method throws Nette\Neon\Exception
on error.
try {
$neon = Neon::encode($value);
} catch (Nette\Neon\Exception $e) {
// Exception handling
}
decode (string $neon): mixed
Converts the given NEON string to a PHP value.
Returns scalars, arrays, dates as DateTimeImmutable objects, and entities as Nette\Neon\Entity objects.
Neon::decode('hello: world'); // Returns an array ['hello' => 'world']
The decode()
method throws Nette\Neon\Exception
on error.
try {
$value = Neon::decode($neon);
} catch (Nette\Neon\Exception $e) {
// Exception handling
}
decodeFile (string $file): mixed
Converts the contents of a file from NEON to PHP and removes any BOM.
Neon::decodeFile('config.neon');
The decodeFile()
method throws Nette\Neon\Exception
on error.