debril/feed-io
PHP library to read and write RSS, Atom, and JSONFeed. Supports feed autodiscovery, enclosures, logos, content filtering, and DateTime conversion. Includes CLI tools, PSR-7 responses with cache headers, PSR-3 logging, and PSR-18 HTTP clients.
Strengths:
If-Modified-Since headers and next-update estimation reduce unnecessary API calls, critical for scalable feed aggregation.Since, database sync) enable fine-grained control over feed items, useful for content moderation or incremental updates.Weaknesses:
php-feed-io/feed-io. Risk of stale documentation or unresolved issues.feedio:read jobs).Route::get('/feed', fn() => $feedIo->getPsrResponse($feed, 'atom'))).feedio:discover) can be repurposed as Laravel Artisan commands.Database filter) can sync feed items to Eloquent models, enabling features like "unread items" or search.getFilteredItems() to insert new items into a FeedItems table with modifiedSince for incremental updates.php-feed-io/feed-io for updates.php-http/guzzle7-adapter for Guzzle 7).setFeedTimezone()).php-feed-io/feed-io for updates/bugs?php-http/guzzle7-adapter).php artisan feed:fetch).feedio queue for async processing./rss.xml).last_fetched_at, next_update).FeedItem model).Cache::remember) to reduce API calls.getNextUpdate() to schedule future fetch jobs (e.g., Laravel Scheduler).composer require php-feed-io/feed-io.feed-io.nextUpdate intervals based on feed activity.feed-io v5+ (PHP 8.0+ required for v5+; v4 works on PHP 7.1+).feed-io v4.x.Log facade).phpunit/phpunit for unit tests; mock HTTP clients with php-http/mock-client.setFeedTimezone() for feeds with ambiguous dates.FeedIo\Adapter\Http\Client to inject custom headers (e.g., User-Agent).getItemsSince() to fetch only new items./feed.json).getNextUpdate().How can I help you explore Laravel packages today?