compolomus / rssreader

一个用于获取带缓存功能的RSS源的小型库。

2.1 2024-03-28 15:58 UTC

This package is auto-updated.

Last update: 2024-08-28 16:55:21 UTC


README

License Build Status Scrutinizer Code Quality Code Coverage Code Climate Downloads

一个用于获取带缓存功能的RSS源的小型库。

composer require compolomus/RssReader

用法

您可以同时解析多个来源的源,并按时间戳(升序)排序获取的帖子。以下是使用 RssReader 类的示例

示例:解析RSS源并检索所有帖子

<?php
require __DIR__ . '/vendor/autoload.php';

use Compolomus\RssReader\RssReader;

// Prepare RSS reader
$rss = new RssReader([
    'https://3dnews.ru/breaking/rss/',
    'https://3dnews.ru/motherboard/rss/',
]);

// Get all posts
$result = $rss->getAll();
print_r($result);

在首次调用此脚本后,您将看到RSS源中所有带有其ID的消息,这些ID将被缓存。在后续调用中,仅处理新ID,因为所有缓存的ID都将被跳过。每次调用都将ID追加到缓存中,确保您不会从源中接收到重复的ID。

高级示例:与上面相同,但自定义了缓存设置

<?php
require __DIR__ . '/vendor/autoload.php';

use Compolomus\RssReader\Cache\FileCache;
use Compolomus\RssReader\RssReader;

// Prepare cache
$cache = new FileCache('/tmp/RssReader', 'ids.txt');

// Prepare RSS reader
$rss = new RssReader([
    'https://3dnews.ru/breaking/rss/',
    'https://3dnews.ru/motherboard/rss/',
], $cache);

// Get all posts
$result = $rss->getAll();
print_r($result);

环境变量

RssReader 库支持几个环境变量以进行自定义

环境变量 RSSREADER_LIMIT 允许限制最新帖子的数量。默认情况下没有限制(0或空)。还可以使用环境变量 RSSREADER_CACHE_DIRRSSREADER_CACHE_FILE 来自定义缓存目录和文件名。

测试

要为此库运行测试,请执行以下命令

composer test

质量保证

此项目使用几个工具来确保代码质量和可维护性

  • PHP_CodeSniffer:检查代码语法和样式是否与PSR-12标准相符。
  • PHPStan:对代码库进行静态分析,以查找潜在的错误和错误。
  • PHPUnit:用于测试目的。