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追加到缓存中,确保您从源中不会收到重复的消息。

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

<?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:用于测试目的。