PHP用の優れたYAMLパーサーを知っている人はいますか?もしそうなら、このライブラリの長所と短所は何ですか?
最終更新:2017年7月26日
PHPのYAMLの状態の概要は次のとおりです。
純粋なPHP実装:
この記事の執筆時点で、前述のライブラリの最新バージョンのリリース日と、サポートする YAML仕様 (1.2は最新バージョン)のバージョンは次のとおりです。
php-yaml 1.3.0 2016-09-24 YAML 1.1 [PHP 5]
php-yaml 2.0.0 2016-09-24 YAML 1.1 [PHP 7]
syck 0.9.3 2008-11-18 YAML 1.0
sfYaml 3.3.5 2017-06-15 YAML 1.1, most of 1.2
spyc 0.6.2 2017-02-24 YAML 1.1
Spyc: https://github.com/mustangostang/spyc
Pure PHP実装なので、インストールのためにサーバーに変更を加える必要はありません。構成または比較的少量の使用のためのYAMLは、素晴らしいソリューションです。
YAMLドキュメントが与えられると、Spycは適切に使用できる配列を返します。
require_once "spyc.php";
$data = Spyc::YAMLLoad($myfile);
配列を指定すると、Spycはデータから作成されたYAMLドキュメントを含む文字列を返します。
$yaml_str = Spyc::YAMLDump($myarray);
symfonyフレームワーク はYAMLを非常に頻繁に使用します。この GrégoireHubertによるブログ投稿 は、symfony以外のプロジェクトでYAMLライブラリを使用する方法を示しています。
Symfony2には、YAML 1.2仕様のmostをサポートするYAMLコンポーネントがあります
YAMLをすばやくテストする必要がある場合は、 http://yaml-online-parser.appspot.com/ を作成しました。特に学習中にYAMLを書くのに役立ちます。
この記事でプロセスに従うことをお勧めします http://devzone.zend.com/article/2585-using-yaml-with-php-and-pecl
sfYamlを試してみてください。
SymfonyとDoctrine ORMはこれを使用しています。
それを取得するには、 ダウンロードDoctrine 1.2 し、sfYaml
ディレクトリからvendor
を抽出します。
ニーズに合っているかどうかをお知らせください。