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追加到缓存中,确保您从源中不会收到重复的消息。
高级示例:与上述示例相同,但可自定义缓存设置
<?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:用于测试目的。