当前位置:  开发笔记 > 编程语言 > 正文

PHP YAML解析器

如何解决《PHPYAML解析器》经验,为你挑选了4个好方法。

有没有人知道PHP的YAML解析器?如果是这样,这个图书馆的优点和缺点是什么?



1> NullUserExce..:

最后更新时间:2017年7月26日

以下是PHP中YAML状态的摘要:

C库的包装:如果你需要纯粹的速度,你可能会想要这些:

php-yaml:LibYAML的包装器.可作为PECL扩展; 它也是PHP文档中的一个.

syck:绑定到syck; 也可作为PECL扩展.(注明日期,见下文)

纯PHP实现:

sfYaml:Symfony的YAML组件.你可以在这里看到作者的动机.他想要的东西是" 易于使用,快速,经过单元测试并且有明确的错误信息".

spyc:没有依赖关系的YAML解析器

在撰写本文时,上述库的最新版本发布日期以及它们支持的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 


我已经使用sfYaml大约两年了,在性能测试中我意识到sfYaml :: parse()占用了大部分处理时间.我用php-yaml替换它,现在应用程序快了70%!这是一个巨大的差异.

2> drowe..:

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

纯PHP实现,因此您无需对服务器进行任何修改即可进行安装.如果速度令人担忧,它可能不是理想的解决方案,但如果您使用YAML进行配置或相对小批量使用,那么这是一个很棒的解决方案.

给定一个YAML文档,Spyc将返回一个你认为合适的数组.

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

给定一个数组,Spyc将返回一个字符串,其中包含根据您的数据构建的YAML文档.

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



3> Dan Powley..:

在symfony框架使得非常大量使用YAML,这的博客文章由格雷休伯特使用他们的YAML库在非symfony项目演示.



4> 小智..:

Symfony2有一个YAML组件,支持大多数 YAML 1.2规范

https://github.com/symfony/Yaml

推荐阅读
勤奋的瞌睡猪_715
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有