lucinda/rss

非常轻量级的PHP API,用于生成RSS订阅源,覆盖了官方的2.0版本规范

v3.0.1 2022-06-04 06:00 UTC

This package is auto-updated.

Last update: 2024-09-04 10:30:08 UTC


README

非常轻量级的PHP API,封装了整个RSS-2规范,这是目前全球生成RSS订阅源的标准。

API仅需要PHP 8.1+,并为每个RSS标签提供了一个类,所有类都属于Lucinda\RSS命名空间,每个类都实现了Tag接口。以下是一些必须的

简单示例

$channel = new \Lucinda\RSS\Channel("Lucinda Framework", "https://www.lucinda-framework.com", "Current headlines from Lucinda Framework");
$channel->addItem(new \Lucinda\RSS\Item("STDOUT MVC API", "STDOUT MVC API was upgraded to a new version"));
$channel->addItem(new \Lucinda\RSS\Item("STDERR MVC API", "STDERR MVC API was upgraded to a new version"));
$rss = new \Lucinda\RSS\RSS($channel);
echo $rss; // displays RSS feed

API为其类和方法提供了100%的单元测试覆盖率,可以通过在控制台中运行来重现

composer update
php test.php

注意:由于超级全局变量 __toString 无法进行单元测试,因此单元测试是在 toString 方法上进行的!

RSS

RSS通过以下无返回值的方法封装了rss标签逻辑

要了解如何使用命名空间添加非标准标签到订阅源,请访问此指南

频道

Channel通过以下无返回值的方法封装了channel标签逻辑

[1] $description的值会自动通过Escape类使用CDATA进行转义,以便可以在其中放置HTML

条目

Item通过以下无返回值的方法封装了item标签逻辑

[1] $description的值会自动通过Escape类使用CDATA进行转义,以便可以在其中放置HTML

标签

接口Tag定义了所有RSS标签的通用能力,以便成为\Stringable

转义

Escape通过继承Tag的以下方法使用CDATA封装一个值