Praca z NEON
NEON to czytelny dla człowieka język do serializacji danych. Jest używany w Nette do plików konfiguracyjnych. Nette\Neon\Neon to statyczna klasa do pracy z NEONem.
Zapoznaj się z formatem NEON i wypróbuj go.
Wszystkie przykłady zakładają utworzony alias:
use Nette\Neon\Neon;
Instalacja
Bibliotekę pobierzesz i zainstalujesz za pomocą narzędzia Composer:
composer require nette/neon
Błędy składni w plikach *.neon
możesz sprawdzić za pomocą polecenia konsolowego neon-lint
:
vendor/bin/neon-lint <ścieżka>
encode (mixed $value, bool $blockMode=false,
string $indentation="\t"
): string
Zwraca $value
przekonwertowane na NEON. Jako parametr $blockMode
możesz przekazać
true
, co utworzy wyjście wieloliniowe. Parametr $indentation
określa znak używany do wcięcia
(domyślnie tabulator).
Neon::encode($value); // Zwraca $value przekonwertowane na NEON
Neon::encode($value, true); // Zwraca $value przekonwertowane na wieloliniowy NEON
Metoda encode()
w przypadku błędu rzuca Nette\Neon\Exception
.
try {
$neon = Neon::encode($value);
} catch (Nette\Neon\Exception $e) {
// obsługa wyjątku
}
decode (string $neon): mixed
Konwertuje ciąg znaków z NEON do PHP.
Zwraca skalary, tablice, daty jako obiekty DateTimeImmutable i encje jako obiekty Nette\Neon\Entity.
Neon::decode('hello: world'); // Zwraca tablicę ['hello' => 'world']
Metoda decode()
w przypadku błędu rzuca Nette\Neon\Exception
.
try {
$value = Neon::decode($neon);
} catch (Nette\Neon\Exception $e) {
// obsługa wyjątku
}
decodeFile (string $file): mixed
Konwertuje zawartość pliku z NEON do PHP i usuwa ewentualny BOM.
Neon::decodeFile('config.neon');
Metoda decodeFile()
w przypadku błędu rzuca Nette\Neon\Exception
.