vedmant / laravel-feed-reader
A simple RSS feed reader for Laravel
Installs: 354 157
Dependents: 1
Suggesters: 0
Security: 0
Stars: 86
Watchers: 1
Forks: 36
Open Issues: 0
Requires
- php: >=5.6.0
- ext-curl: *
- illuminate/support: ~5.5.0|~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
- simplepie/simplepie: ^1.8.0
Requires (Dev)
- orchestra/testbench: ^7.0
- phpunit/phpunit: ^9.5
README
A simple RSS feed reader for Laravel
Features
- One command to read any RSS feed
- Different RSS feed profiles enabled
Quick Start
To install this package run the Composer command
$ composer require vedmant/laravel-feed-reader
Video Tutorial
For Laravel 5.5 and above this package supports Laravel Auto-Discovery and will be discovered automatically.
For Laravel versions prior to 5.5 follow next guide:
In your config/app.php
add following:
'providers' => [ Illuminate\Foundation\Providers\ArtisanServiceProvider::class, Illuminate\Auth\AuthServiceProvider::class, ... Vedmant\FeedReader\FeedReaderServiceProvider::class, // Add this line [, 'aliases' => [ 'App' => Illuminate\Support\Facades\App::class, 'Artisan' => Illuminate\Support\Facades\Artisan::class, ... 'FeedReader' => Vedmant\FeedReader\Facades\FeedReader::class, // Add this line ],
Setup
Publishing the Configuration
After installing through composer, you should publish the config file. To do this, run the following command:
$ php artisan vendor:publish --provider="Vedmant\FeedReader\FeedReaderServiceProvider"
Configuration Values
Once published, the configuration file contains an array of profiles. These will define how the RSS feed reader will react. By default the "default" profile will used. For more information on: here.
How to use
Once you have all of the configuration settings set up, in order to read a RSS feed all you need to do is call the read
function:
$f = FeedReader::read('https://news.google.com/news/rss'); echo $f->get_title(); echo $f->get_items()[0]->get_title(); echo $f->get_items()[0]->get_content();
This function accepts 2 parameters however, the second parameter is optional. The second parameter is the configuration profile that should be used when reading the RSS feed.
This will return to you the SimplePie object with the RSS feed in it. See SimplePie API for all available methods.
Passing curl options
You can also pass specific curl options per read()
calls. You can pass these options, as an array
as the 3rd parameter. The list of options can be found on the PHP Manual.
Example:
// You need to log in to the rss endpoint with a Digest auth $options = [ 'curl_options' => [ CURLOPT_HTTPAUTH => CURLAUTH_DIGEST, CURLOPT_USERPWD => 'username:password', ], ]; $f = FeedReader::read('https://news.google.com/news/rss', 'default', $options);
License
Feed Reader is free software distributed under the terms of the MIT license
Additional Information
Any issues, please report here