Nette Documentation Preview

syntax
Nette NEON
**********

<div class=perex>

NEON - дружелюбный к человеку язык сериализации данных. В Nette он используется для конфигурационных файлов. [api:Nette\Neon\Neon] - статический класс для работы с NEON.

Познакомьтесь с [форматом NEON|format] и [попробуйте его |https://fiddle.nette.org/neon/].

</div>

Все примеры предполагают, что определён такой псевдоним:

```php
use Nette\Neon\Neon;
```


Установка
---------

Скачайте и установите пакет с помощью [Composer|best-practices:composer]:

```shell
composer require nette/neon
```

Проверить файлы `*.neon` на синтаксические ошибки можно консольной командой `neon-lint`:

```shell
vendor/bin/neon-lint [--debug] <path>
```


encode(mixed $value, bool $blockMode=false, string $indentation="\t"): string .[method]
---------------------------------------------------------------------------------------

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

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

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

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


decode(string $input): mixed .[method]
--------------------------------------

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

Возвращает скаляры, массивы, [даты |format#Даты] как объекты DateTimeImmutable и [сущности |format#Сущности] как объекты [api:Nette\Neon\Entity].

```php
Neon::decode('hello: world'); // Вернёт массив ['hello' => 'world']
```

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

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


decodeFile(string $file): mixed .[method]
-----------------------------------------

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

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

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


Если вы переходите на более новую версию, посмотрите страницу [обновления |upgrading].

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.

Если вы переходите на более новую версию, посмотрите страницу обновления.