Praca z NEON
NEON jest czytelnym dla człowieka językiem serializacji danych. Jest on używany w Nette do plików konfiguracyjnych. Nette\Neon\Neon jest statyczną klasą do pracy z NEONem.
Poznaj format NEON i wypróbuj go.
Wszystkie przykłady zakładają utworzony alias:
use Nette\Neon\Neon;
Instalacja
Pobierz i zainstaluj bibliotekę za pomocą Composera:
composer require nette/neon
Możesz sprawdzić błędy składni w plikach *.neon
używając polecenia konsoli neon-lint
:
vendor/bin/neon-lint <cesta>
encode(mixed $value, bool $blockMode=false,
string $indentation="\t"
): string
Zwraca $value
przekonwertowany na NEON. Możesz przekazać true jako parametr $blockMode
, aby
utworzyć wyjście wieloliniowe. Parametr $indentation
określa znaki używane do wcięć (domyślnie jest to
tabulator).
Neon::encode($value); // Zwraca $value przekonwertowaną na NEON
Neon::encode($value, true); // Zwraca $value przekonwertowaną na wielowierszowy NEON
Metoda encode()
rzuca Nette\Neon\Exception
na błąd.
try {
$neon = Neon::encode($value);
} catch (Nette\Neon\Exception $e) {
// obsługa wyjątków
}
decode(string $neon): mixed
Konwertuje ciąg znaków z NEON na PHP.
Zwraca skalary, tablice, daty jako obiekty DateTimeImmutable i encje jako obiekty Nette\Neon\Entity.
Neon::decode('hello: world'); // Vrátí pole ['hello' => 'world']
Metoda decode()
rzuca Nette\Neon\Exception
na błąd.
try {
$value = Neon::decode($neon);
} catch (Nette\Neon\Exception $e) {
// obsługa wyjątków
}
decodeFile(string $file): mixed
Konwertuje zawartość pliku z NEON na PHP i usuwa wszelkie BOM.
Neon::decodeFile('config.neon');
Metoda decodeFile()
rzuca Nette\Neon\Exception
na błąd.