PHP YAML 解析器
有谁知道有一个好的 PHP YAML 解析器吗? 如果是这样,这个库的优点和缺点是什么?
Does anyone know of a good YAML Parser for PHP? If so, what are the pros and cons of this library?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
以下是 PHP 中 YAML 状态的摘要:
纯 PHP 实现:
在撰写本文时,上述库的最新版本发布日期和他们支持的 YAML 规范 的版本(1.2 是最新版本)是:
Here's a summary of the state of YAML in PHP:
Pure PHP implementations:
At the time of this writing, the latest versions release dates for the aforementioned libraries and the versions of the YAML spec (1.2 is the latest version) they support are:
Spyc: https://github.com/mustangostang/spyc
纯 PHP 实现,因此您不需要对服务器进行任何修改以进行安装。 如果速度非常重要,它可能不是理想的解决方案,但如果您使用 YAML 进行配置或相对较低的使用量,那么它是一个很棒的解决方案。
给定一个 YAML 文档,Spyc 将返回一个数组,您可以根据需要使用该数组。
给定一个数组,Spyc 将返回一个字符串,其中包含根据您的数据构建的 YAML 文档。
Spyc: https://github.com/mustangostang/spyc
Pure PHP implementation, so you don't need to make any modifications to the server for installation. If speed is of dire concern, it might not be the ideal solution, but if you're using YAML for configurations or relatively low-volume use, it is a fantastic solution.
Given a YAML document, Spyc will return an array that you can use however you see fit.
Given an array, Spyc will return a string which contains a YAML document built from your data.
symfony 框架 大量使用了 YAML,这个 Grégoire Hubert 的博客文章演示了在非 symfony 项目中使用他们的 YAML 库。
The symfony framework makes very heavy use of YAML, this blog post by Grégoire Hubert demonstrates using their YAML library in a non-symfony project.
Symfony2 有一个 YAML 组件,支持 YAML 1.2 规范的大部分
https://github.com /symfony/Yaml
Symfony2 has a YAML component which supports most of the YAML 1.2 spec
https://github.com/symfony/Yaml
如果您在项目中使用大量 YAML,您可能会发现纯 PHP 库(如间谍或 Symfony YAML)不够快。 C YAML 解析器至少有两个 PHP 绑定:
If you're using a lot of YAML in your project you may find that the pure PHP libraries like spyc or Symfony YAML are not fast enough. There are at least two PHP bindings for C YAML parsers:
尝试 sfYaml,这是我所知道的最好的。
Symfony 和 Doctrine ORM 正在使用这个。
要获取它,您可以下载 Doctrine 1.2 并从中提取
sfYaml
vendor
目录。让我们知道它是否适合您的需求。
Try sfYaml, it is the best I know.
Symfony and Doctrine ORM are using this one.
To get it, you may Download Doctrine 1.2 and extract
sfYaml
fromvendor
directory.Let us know if it suits your needs.
如果您需要快速测试 YAML,我构建了: http://yaml-online-parser.appspot .com/ 。 它帮助我编写 YAML,尤其是在刚学习时。
If you need to test your YAML quickly, I built: http://yaml-online-parser.appspot.com/ . It helps me write YAML, especially while just learning.