Please note: This package is still under development and not yet intended for productive usage but feel free to contribute.
With this package it is easy to discover, read and parse RSS and ATOM feeds.
You can install this package via composer using:
composer require tentaclefeed/feedreader
The package will automatically register itself.
To publish the FeedReader config file run:
php artisan vendor:publish --provider="Tentaclefeed\Feedreader\FeedreaderServiceProvider" --tag="config"
The default config file contains the following:
return [
/*
|--------------------------------------------------------------------------
| Cache configuration
|--------------------------------------------------------------------------
|
| The FeedReader and Explorer can cache requests automatically for you to
| increase performance.
|
*/
'cache' => [
'explorer' => [
'seconds' => 86400, // One day
],
'reader' => [
'seconds' => 1800, // 30 minutes
],
],
];
use Tentaclefeed\Feedreader\Facades\FeedReader;
$feeds = FeedReader::discover('https://www.nytimes.com/');
/*
Illuminate\Support\Collection {#491
#items: array:1 [
0 => array:3 [
"title" => "RSS",
"icon" => "http://nytimes.com/vi-assets/static-assets/apple-touch-icon-28865b72953380a40aa43318108876cb.png"
"type" => "application/rss+xml",
"href" => "https://rss.nytimes.com/services/xml/rss/nyt/HomePage.xml"
]
]
}
*/
use Tentaclefeed\Feedreader\Facades\FeedReader;
$feed = FeedReader::read('https://rss.nytimes.com/services/xml/rss/nyt/HomePage.xml');
/*
Tentaclefeed\Feedreader\Models\Feed {#430
-title: "NYT > Top Stories"
-subtitle: ""
-icon: null
-updated_at: Carbon\Carbon @1619976397 {#485}
-author: null
-rights: "Copyright 2021 The New York Times Company"
-items: Illumin…\Collection {#487}
}
*/
Method | Return type | Description |
---|---|---|
$feed->getTitle() |
string |
The title of the feed. |
$feed->getSubtitle() |
string |
The subtitle/description of the feed. |
$feed->getUpdatedAt() |
Carbon\Carbon |
The last modification date of the feed. |
$feed->getAuthor() |
Tentaclefeed\Feedreader\Models\Author |
The author of the feed. |
$feed->getRights() |
string |
Copyright notices. |
$feed->getItems() |
Illuminate\Support\Collection |
Articles from the feed. |
Method | Return type | Description |
---|---|---|
$author->getName() |
string |
The name of the author. |
$author->getUri() |
string or null |
The uri of the author. |
Method | Return type | Description |
---|---|---|
$item->getId() |
string |
The id of the item. |
$item->getTitle() |
string |
The title of the item. |
$item->getCreatedAt() |
Carbon\Carbon |
The datetime the item was published/created. |
$item->getUrl() |
string |
The url of the item. |
$item->getSummary() |
string |
The content summary of the item. |
Run the tests with:
composer test
- Improve
IconScraper
to recognize more icons
The MIT License (MIT). Please see License File for more information.