Nette NEON
NEONは、人間が理解しやすいデータシリアライズ言語です。Netteでは設定ファイルに使用されます。Nette\Neon\Neonは、NEONを操作するための静的クラスです。
すべての例は、エイリアスが作成されていることを前提としています:
use Nette\Neon\Neon;
インストール
ライブラリはComposerツールを使用してダウンロードおよびインストールします:
composer require nette/neon
*.neonファイルの構文エラーは、コンソールコマンドneon-lintを使用して確認できます:
vendor/bin/neon-lint <path>
encode (mixed $value, bool $blockMode=false,
string $indentation="\t"): string
$valueをNEONに変換して返します。パラメータ$blockModeにtrueを渡すと、複数行の出力が作成されます。パラメータ$indentationは、インデントに使用される文字を指定します(デフォルトはタブ)。
Neon::encode($value); // $value を NEON に変換して返します
Neon::encode($value, true); // $value を複数行の NEON に変換して返します
encode()メソッドは、エラー時にNette\Neon\Exceptionをスローします。
try {
$neon = Neon::encode($value);
} catch (Nette\Neon\Exception $e) {
// 例外処理
}
decode (string $neon): mixed
NEON形式の文字列をPHPに変換します。
スカラー、配列、日付をDateTimeImmutableオブジェクトとして、エンティティをNette\Neon\Entityオブジェクトとして返します。
Neon::decode('hello: world'); // 配列 ['hello' => 'world'] を返します
decode()メソッドは、エラー時にNette\Neon\Exceptionをスローします。
try {
$value = Neon::decode($neon);
} catch (Nette\Neon\Exception $e) {
// 例外処理
}
decodeFile (string $file): mixed
ファイルの内容をNEONからPHPに変換し、BOMがあれば削除します。
Neon::decodeFile('config.neon');
decodeFile()メソッドは、エラー時にNette\Neon\Exceptionをスローします。