用于 PHP 的体面 RSS 源生成器 [已关闭]

2022-08-31 00:54:20

我需要一个RSS源生成器;我应该使用类还是应该自己生成 Feed?

如果我应该自己生成它,那么哪里是获得标准全面规格的好地方?

如果没有,是否有任何好的课程可以做到这一点,快速完成并做得好?


答案 1

PHP 通用源生成器(支持 RSS 1.0、RSS 2.0 和 ATOM)

特征:

  • 生成 RSS 1.0、RSS 2.0 和 ATOM 1.0 源
  • 所有饲料都由饲料验证器进行验证。
  • 支持所有可能的进料元件。
  • 简单易用地定义通道和进料项目
  • 为不同版本实现适当的命名空间。
  • 自动转换日期格式。
  • 为 ATOM 源生成 UUID。
  • 允许使用子标记和属性。(例如:图像和封闭器标签)
  • 在 PHP5 类结构中完全面向对象。
  • 处理所需标记的 CDATA 编码。
  • 用于生成各种源的代码几乎相同

例子


答案 2

Zend Framework很快就会有一个名为Zend_Feed_Writer的组件,看起来很有趣。以下是该组件的开发人员之一Padráic Brady的提要摘录(也许是?)(链接到博客文章)。他说,它目前在Zend Framework孵化器中,但第一个正式版本应该在周末结束时准备就绪:

Zend_Feed_Writer

块上的新孩子,将在Zend Framework 1.10中添加,Zend_Feed_Writer。有点像旧的Zend_Feed_Builder类,其目的是生成Atom 1.0和RSS 2.0源。不同之处在于,像它的兄弟姐妹Zend_Feed_Reader一样,它是标准的,并且完全使用PHP的DOM进行操作。

为什么选择另一种饲料生成组件?这个问题有点类似于Zend_Feed_Reader解决的问题。生成RSS和Atom源比将一堆元素粘在一起要复杂得多 - 每个标准都有其怪癖,其独特的功能以及标准之外自己的一组最佳实践。使用Zend_Feed_Builder,您依赖于两件事 - 重复和验证。偏离其核心重点需要更多的工作,甚至达到子类化的程度,而你总是受到误解标准的摆布。

Zend_Feed_Writer建立在Zend_Feed_Reader的简单API(使用setter而不是getters)和让组件理解标准的概念之上(所以你不必这样做)。该组件分为两类类型 - 一个基本数据容器用于存储源数据并确保其符合预期格式,另一个呈现器用于实际生成源并提供有关标准遵守情况的反馈。例如,在Atom 1.0中,省略标题将产生异常 - 标题是Atom 1.0标准下的强制性元素。虽然这可以被解释为一种麻烦,但事实是,无效的Atom 1.0源比无用的更糟糕。你现在最好生气,而不是以后当在线验证者叫你粗鲁的名字时:-)。

这种方法的最终结果是,您专注于数据,并让Zend_Feed_Writer担心要使用的元素和属性。从理论上讲(总是一件大事),Zend_Feed_Writer不可能产生无效的饲料。

当然,我们也引入了扩展的概念,就像Zend_Feed_Reader一样,允许您更动态地添加对RSS和Atom扩展的支持,而无需子类化或API臂扭曲。

如果你去寻找Zend_Feed_Writer,它目前在孵化器中以块为单位。我应该在周末完全集成它并正常运行。但是,您可以尝试编写Atom 1.0提要,只要您坚持核心元素(即大多数博客提要)。RSS 2.0 支持是我需要完整完成的最后一部分。


推荐