Apakah ada yang tahu tentang Parser YAML yang bagus untuk PHP? Jika ya, apa pro dan kontra dari perpustakaan ini?
Apakah ada yang tahu tentang Parser YAML yang bagus untuk PHP? Jika ya, apa pro dan kontra dari perpustakaan ini?
Jawaban:
Terakhir diperbarui : 26 Juli 2017
Berikut ringkasan status YAML dalam PHP:
Implementasi PHP murni:
Pada saat penulisan ini, tanggal rilis versi terbaru untuk pustaka yang disebutkan di atas dan versi spesifikasi YAML (1.2 adalah versi terbaru) yang mereka dukung adalah:
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
Implementasi PHP murni, jadi Anda tidak perlu melakukan modifikasi apa pun pada server untuk instalasi. Jika kecepatan sangat mengkhawatirkan, ini mungkin bukan solusi yang ideal, tetapi jika Anda menggunakan YAML untuk konfigurasi atau penggunaan volume yang relatif rendah, ini adalah solusi yang fantastis.
Dengan adanya dokumen YAML, Spyc akan mengembalikan larik yang dapat Anda gunakan sesuka Anda.
require_once "spyc.php";
$data = Spyc::YAMLLoad($myfile);
Diberikan sebuah array, Spyc akan mengembalikan string yang berisi dokumen YAML yang dibuat dari data Anda.
$yaml_str = Spyc::YAMLDump($myarray);
The framework symfony membuat penggunaan yang sangat berat YAML, ini posting blog oleh Grégoire Hubert menunjukkan menggunakan perpustakaan YAML mereka dalam proyek non-symfony.
Symfony2 memiliki komponen YAML yang paling mendukung besar spesifikasi YAML 1.2
sfYaml
misalnya adalah.
Jika Anda menggunakan banyak YAML dalam proyek Anda, Anda mungkin menemukan bahwa pustaka PHP murni seperti spyc atau Symfony YAML tidak cukup cepat. Setidaknya ada dua binding PHP untuk parser C YAML:
Saya akan menyarankan proses yang diikuti dalam artikel ini http://devzone.zend.com/article/2585-using-yaml-with-php-and-pecl
Coba sfYaml , itu yang terbaik yang saya tahu.
Symfony dan Doctrine ORM menggunakan yang ini.
Untuk mendapatkannya, Anda dapat Download Doctrine 1.2 dan ekstrak sfYaml
dari vendor
direktori.
Beri tahu kami jika itu sesuai dengan kebutuhan Anda.
Jika Anda perlu menguji YAML Anda dengan cepat, saya membuat: http://yaml-online-parser.appspot.com/ . Ini membantu saya menulis YAML, terutama saat baru belajar.