compolomus / rssreader
一个用于获取带缓存功能的RSS源的小型库。
2.1
2024-03-28 15:58 UTC
Requires
- php: ^8.2
- ext-libxml: *
- ext-simplexml: *
Requires (Dev)
- laminas/laminas-coding-standard: ^1.0
- larapack/dd: ^1.1
- phpunit/phpunit: ^9.5
- symfony/dotenv: ^6.1
Suggests
- ext-pdo: *
- ext-xdebug: ^3.0
This package is auto-updated.
Last update: 2024-08-28 16:55:21 UTC
README
一个用于获取带缓存功能的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_DIR
和 RSSREADER_CACHE_FILE
来自定义缓存目录和文件名。
测试
要为此库运行测试,请执行以下命令
composer test
质量保证
此项目使用几个工具来确保代码质量和可维护性
- PHP_CodeSniffer:检查代码语法和样式是否与PSR-12标准相符。
- PHPStan:对代码库进行静态分析,以查找潜在的错误和错误。
- PHPUnit:用于测试目的。