Travailler avec NEON
NEON est un langage de sérialisation de données lisible par l'homme. Il est utilisé dans Nette pour les fichiers de configuration. Nette\Neon\Neon est une classe statique pour travailler avec NEON.
Familiarisez-vous avec le format NEON et essayez-le.
Tous les exemples supposent la création d'un alias :
use Nette\Neon\Neon;
Installation
Vous pouvez télécharger et installer la bibliothèque à l'aide de Composer :
composer require nette/neon
Vous pouvez vérifier les erreurs de syntaxe dans les fichiers *.neon
à l'aide de la commande console
neon-lint
:
vendor/bin/neon-lint <chemin>
encode (mixed $value, bool $blockMode=false,
string $indentation="\t"
): string
Retourne $value
convertie en NEON. Comme paramètre $blockMode
, vous pouvez passer true
,
ce qui créera une sortie multiligne. Le paramètre $indentation
spécifie les caractères utilisés pour
l'indentation (la valeur par défaut est une tabulation).
Neon::encode($value); // Retourne $value convertie en NEON
Neon::encode($value, true); // Retourne $value convertie en NEON multiligne
La méthode encode()
lève une Nette\Neon\Exception
en cas d'erreur.
try {
$neon = Neon::encode($value);
} catch (Nette\Neon\Exception $e) {
// traitement de l'exception
}
decode (string $neon): mixed
Convertit une chaîne NEON en PHP.
Retourne des scalaires, des tableaux, des dates comme objets
DateTimeImmutable
et des entités comme objets Nette\Neon\Entity.
Neon::decode('hello: world'); // Retourne le tableau ['hello' => 'world']
La méthode decode()
lève une Nette\Neon\Exception
en cas d'erreur.
try {
$value = Neon::decode($neon);
} catch (Nette\Neon\Exception $e) {
// traitement de l'exception
}
decodeFile (string $file): mixed
Convertit le contenu d'un fichier NEON en PHP et supprime un éventuel BOM.
Neon::decodeFile('config.neon');
La méthode decodeFile()
lève une Nette\Neon\Exception
en cas d'erreur.