Práce s NEON

NEON je lidsky srozumitelný jazyk pro serializaci dat. Používá se v Nette pro konfigurační soubory. Nette\Neon\Neon je statická třída pro práci s NEONem.

Naučte se formát NEON nebo si jej vyzkoušejte.

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 <cesta>

encode(mixed $value, bool $blockMode = false)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 $neon): 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.