NEON pro PHP
************
<div class=perex>
NEON je lidsky srozumitelný jazyk pro serializaci dat. Používá se v Nette pro konfigurační soubory. [api:Nette\Neon\Neon] je statická třída pro práci s NEONem.
Seznamte se s [formátem NEON|format] a [vyzkoušejte si jej |https://fiddle.nette.org/neon/].
</div>
Všechny příklady předpokládají vytvořený alias:
```php
use Nette\Neon\Neon;
```
Instalace
---------
Knihovnu stáhnete a nainstalujete pomocí nástroje [Composer|best-practices:composer]:
```shell
composer require nette/neon
```
Chyby v syntaxi v souborech `*.neon` můžete zkontrolovat pomocí konzolového příkazu `neon-lint`:
```shell
vendor/bin/neon-lint [--debug] <cesta>
```
encode(mixed $value, bool $blockMode=false, string $indentation="\t"): string .[method]
---------------------------------------------------------------------------------------
Vrací `$value` převedenou na NEON. Jako parametr `$blockMode` můžete předat true, čímž se vytvoří víceřádkový výstup. Parametr `$indentation` určuje znaky použité pro odsazení (výchozí je tabulátor).
```php
Neon::encode($value); // Vrátí $value převedenou do NEONu
Neon::encode($value, true); // Vrátí $value převedenou do víceřádkového NEONu
```
Metoda `encode()` při chybě vyhodí `Nette\Neon\Exception`.
```php
try {
$neon = Neon::encode($value);
} catch (Nette\Neon\Exception $e) {
// zpracování výjimky
}
```
decode(string $input): mixed .[method]
--------------------------------------
Převede řetězec z NEONu do PHP.
Vrací skaláry, pole, [data |format#Datum] jako objekty DateTimeImmutable a [entity |format#Entity] jako objekty [api:Nette\Neon\Entity].
```php
Neon::decode('hello: world'); // Vrátí pole ['hello' => 'world']
```
Metoda `decode()` při chybě vyhodí `Nette\Neon\Exception`.
```php
try {
$value = Neon::decode($neon);
} catch (Nette\Neon\Exception $e) {
// zpracování výjimky
}
```
decodeFile(string $file): mixed .[method]
-----------------------------------------
Převede obsah souboru z NEONu do PHP a odstraní případný BOM.
```php
Neon::decodeFile('config.neon');
```
Metoda `decodeFile()` při chybě vyhodí `Nette\Neon\Exception`.
Pokud aktualizujete balíček na novější verzi, podívejte se na stránku [upgrade|upgrading].
{{maintitle: Nette NEON: čtení a zápis souborů NEON v PHP}}
{{description: NEON je lidsky srozumitelný jazyk pro serializaci dat, který Nette používá v konfiguračních souborech. Statická třída Neon ho v PHP kóduje a dekóduje.}}
NEON pro PHP
Všechny příklady předpokládají vytvořený alias:
use Nette\Neon\Neon;
Instalace
Knihovnu stáhnete a nainstalujete pomocí nástroje Composer:
composer require nette/neon
Chyby v syntaxi v souborech *.neon můžete zkontrolovat pomocí konzolového příkazu
neon-lint:
vendor/bin/neon-lint [--debug] <cesta>
encode (mixed $value, bool $blockMode=false,
string $indentation="\t"): string
Vrací $value převedenou na NEON. Jako parametr $blockMode můžete předat true, čímž se
vytvoří víceřádkový výstup. Parametr $indentation určuje znaky použité pro odsazení (výchozí je
tabulátor).
Neon::encode($value); // Vrátí $value převedenou do NEONu
Neon::encode($value, true); // Vrátí $value převedenou do víceřádkového NEONu
Metoda encode() při chybě vyhodí Nette\Neon\Exception.
try {
$neon = Neon::encode($value);
} catch (Nette\Neon\Exception $e) {
// zpracování výjimky
}
decode (string $input): mixed
Převede řetězec z NEONu do PHP.
Vrací skaláry, pole, data jako objekty DateTimeImmutable a entity jako objekty Nette\Neon\Entity.
Neon::decode('hello: world'); // Vrátí pole ['hello' => 'world']
Metoda decode() při chybě vyhodí Nette\Neon\Exception.
try {
$value = Neon::decode($neon);
} catch (Nette\Neon\Exception $e) {
// zpracování výjimky
}
decodeFile (string $file): mixed
Převede obsah souboru z NEONu do PHP a odstraní případný BOM.
Neon::decodeFile('config.neon');
Metoda decodeFile() při chybě vyhodí Nette\Neon\Exception.
Pokud aktualizujete balíček na novější verzi, podívejte se na stránku upgrade.