Функции NEON

NEON – это удобный для человека язык сериализации данных. Он используется в Nette для конфигурационных файлов. Nette\Neon\Neon – это статический класс для работы с NEON.

Познакомьтесь с форматом NEON и попробуйте его в работе.

В следующих примерах используются эти псевдонимы:

use Nette\Neon\Neon;

Установка

Загрузите и установите пакет с помощью Composer:

composer require nette/neon

Вы можете проверить наличие синтаксических ошибок в файлах *.neon с помощью консольной команды neon-lint:

vendor/bin/neon-lint <path>

encode(mixed $value, bool $blockMode=false)string

Возвращает $value, преобразованный в NEON. В качестве параметра $blockMode можно передать true, что создаст многострочный вывод. Параметр $indentation задает символы, используемые для отступов (по умолчанию это tab).

Neon::encode($value); // Returns $value converted to NEON
Neon::encode($value, true); // Returns $value converted to multiline NEON

Метод encode() при ошибке выбрасывает Nette\Neon\Exception.

try {
	$neon = Neon::encode($value);
} catch (Nette\Neon\Exception $e) {
	// Exception handling
}

decode(string $neon): mixed

Конвертирует заданный NEON в значение PHP.

Возвращает скаляры, массивы, дату как объекты DateTimeImmutable и сущности как объекты Nette\Neon\Entity.

Neon::decode('hello: world'); // Returns an array ['hello' => 'world']

Метод decode() выбрасывает Nette\Neon\Exception при ошибке.

try {
	$value = Neon::decode($neon);
} catch (Nette\Neon\Exception $e) {
	// Exception handling
}

decodeFile(string $file)mixed

Преобразует содержимое файла из NEON в PHP и удаляет все BOM.

Neon::decodeFile('config.neon');

Метод decodeFile() при ошибке бросает Nette\Neon\Exception.