105 votes

Analyseurs de PHP YAML

Quelqu'un sait-il d’un Parser YAML bon pour PHP ? Dans l’affirmative, quels sont les avantages et les inconvénients de cette bibliothèque ?

Mise à jour : À partir d’une prime pour obtenir les frais d’entrée. Quel est le statut des parsers YAML en 2010 ? Tous les nouveaux développements ?

136voto

NullUserException Points 42268

Dernière mise à jour le: 17 Août, 2012

Voici un résumé de l'état de YAML en PHP:

  • Les enveloppeurs bibliothèques C: Vous aurez probablement besoin de ces si vous avez besoin de vitesse pure:
    • php-yaml: Wrapper pour LibYAML. Disponible comme une extension PECL; c'est aussi celui sur le PHP docs.
    • syck: la Liaison à syck; également disponible en tant qu'extension PECL. (daté, voir ci-dessous)

  • Pur PHP implémentations:

    • sfYaml: Symfony composant YAML. Vous pouvez voir de ses auteurs motivations ici. Il voulait quelque chose qui a été "facile à utiliser, rapide, appareil testé et eu des messages d'erreur clairs."
    • spyc: Encore un autre analyseur syntaxique YAML.

Au moment d'écrire ces lignes, les dernières versions des dates de diffusion pour l'ensemble des bibliothèques et les versions de la YAML spec prises en charge sont:

php-yaml   1.1.0     2012-04-15     YAML 1.1
syck       0.9.3     2008-11-18     YAML 1.0
sfYaml     2.1.0     2012-07-09     YAML 1.1, 1.2
spyc       0.5       2011-06-02     YAML 1.1 

49voto

drowe Points 1511

Spyc: https://github.com/mustangostang/spyc

Pur PHP de mise en œuvre, de sorte que vous n'avez pas besoin d'effectuer des modifications sur le serveur pour l'installation. Si la vitesse est de dire préoccupation, il pourrait ne pas être la solution idéale, mais si vous utilisez le format YAML pour les configurations ou de volume relativement faible d'utilisation, il est une solution fantastique.

Étant donné un YAML document, Spyc retournera un tableau que vous pouvez utiliser comme bon vous semble.

require_once "spyc.php";
$data = Spyc::YAMLLoad($myfile);

Étant donné un tableau, Spyc retourne une chaîne de caractères qui contient un YAML document construit à partir de vos données.

$yaml_str = Spyc::YAMLDump($myarray);

15voto

Dan Powley Points 538

Le framework symfony fait une utilisation très intensive de YAML, ce blog post par Grégoire Hubert illustre l’utilisation de leur bibliothèque YAML dans un projet non-symfony.

7voto

Shane Points 139

Symfony2 a une composante YAML qui prend en charge la plupart de la spécification YAML 1.2

https://github.com/symfony/YAML

2voto

preinheimer Points 3227

Je vous suggère le processus suivi pour cet article http://devzone.zend.com/article/2585-using-yaml-with-php-and-pecl

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X