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.

Learn more about NEON format or try it on the sandbox.

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

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.