Работа с 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
.