NEON Functions
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 NEON format and try it out.
The following examples use these aliases:
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. As the parameter $blockMode
you can pass true, which will create
multiline output. The parameter $indentation
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
Method encode()
throws Nette\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, and entities as Nette\Neon\Entity objects.
Neon::decode('hello: world'); // Returns an array ['hello' => 'world']
Method decode()
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 the file from NEON to PHP and removes any BOM.
Neon::decodeFile('config.neon');
Method decodeFile()
throws Nette\Neon\Exception
on error.