Nette NEON
NEON – дружелюбный к человеку язык сериализации данных. В Nette он используется для конфигурационных файлов. Nette\Neon\Neon – статический класс для работы с NEON.
Познакомьтесь с форматом NEON и попробуйте его.
Все примеры предполагают, что определён такой псевдоним:
use Nette\Neon\Neon;
Установка
Скачайте и установите пакет с помощью Composer:
composer require nette/neon
Проверить файлы *.neon на синтаксические ошибки можно
консольной командой neon-lint:
vendor/bin/neon-lint [--debug] <path>
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 $input): 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.
Если вы переходите на более новую версию, посмотрите страницу обновления.