Работа с NEON

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

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

Все примеры предполагают созданный псевдоним:

use Nette\Neon\Neon;

Установка

Вы можете скачать и установить библиотеку с помощью Composer:

composer require nette/neon

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

vendor/bin/neon-lint <путь>

encode (mixed $value, bool $blockMode=false, string $indentation="\t")string

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

Neon::encode($value); // Возвращает $value, преобразованное в NEON
Neon::encode($value, true); // Возвращает $value, преобразованное в многострочный NEON

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

try {
	$neon = Neon::encode($value);
} catch (Nette\Neon\Exception $e) {
	// обработка исключения
}

decode (string $neon): mixed

Преобразует строку из NEON в PHP.

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

Neon::decode('hello: world'); // Возвращает массив ['hello' => 'world']

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

try {
	$value = Neon::decode($neon);
} catch (Nette\Neon\Exception $e) {
	// обработка исключения
}

decodeFile (string $file)mixed

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

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

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

версия: 3.4