PHP YAML Parsers
symfony/yaml (8)
Última actualización : 26 de julio de 2017
Aquí hay un resumen del estado de YAML en PHP:
- Wrappers to C libraries: probablemente querrás estos si necesitas una gran velocidad:
- php-yaml : Wrapper para LibYAML . Disponible como una extensión PECL; también es el de los documentos de PHP .
- syck : syck a syck; también disponible como una extensión PECL. (fechado, ver abajo)
Implementaciones de PHP puro:
En el momento de escribir estas líneas, las últimas versiones de las fechas de lanzamiento de las bibliotecas antes mencionadas y las versiones de la especificación YAML (1.2 es la última versión) que admiten son:
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
¿Alguien sabe de un buen Analizador YAML para PHP? Si es así, ¿cuáles son los pros y los contras de esta biblioteca?
El framework Symfony hace un uso intensivo de YAML, esta publicación de blog de Grégoire Hubert demuestra el uso de su biblioteca YAML en un proyecto no Symfony.
Prueba sfYaml , es lo mejor que sé.
Symfony y Doctrine ORM están usando este.
Para obtenerlo, puede descargar Doctrine 1.2 y extraer sfYaml
del directorio del vendor
.
Háganos saber si se adapta a sus necesidades.
Si está utilizando una gran cantidad de YAML en su proyecto, es posible que las bibliotecas PHP puras como spyc o Symfony YAML no sean lo suficientemente rápidas. Hay al menos dos enlaces PHP para analizadores C YAML:
Si necesita probar su YAML rápidamente, construí: http://yaml-online-parser.appspot.com/ . Me ayuda a escribir YAML, especialmente mientras estoy aprendiendo.
Spyc: spyc
Implementación pura de PHP, por lo que no es necesario realizar ninguna modificación en el servidor para su instalación. Si la velocidad es de gran preocupación, puede que no sea la solución ideal, pero si usa YAML para configuraciones o para un uso de volumen relativamente bajo, es una solución fantástica.
Dado un documento YAML, Spyc devolverá una matriz que puede usar como mejor le parezca.
require_once "spyc.php";
$data = Spyc::YAMLLoad($myfile);
Dado un conjunto, Spyc devolverá una cadena que contiene un documento YAML creado a partir de sus datos.
$yaml_str = Spyc::YAMLDump($myarray);
Sugeriría el proceso seguido en este artículo http://devzone.zend.com/article/2585-using-yaml-with-php-and-pecl
Symfony2 tiene un componente YAML que admite la mayoría de las especificaciones YAML 1.2