5ef0160145
* 🚧 Add failing tests Closes #3 * 🧪 Add failing tests Closes #3 * 🧪 Failing tests makes somes rules pop better --------- Co-authored-by: Clement Desmidt <clement@desmidt.fr> |
||
---|---|---|
src | ||
tests | ||
.gitignore | ||
autoload.php | ||
composer.json | ||
composer.lock | ||
phpunit.xml | ||
README.md |
SћíкïяўЦЯSS
PHP library reading and creating RSS
disclaimer:
This class is functional. Anyway, use it only if you don't have other choices.
For example, Zend and Symfony got their own RSS factory, don't add another one in.
📚 Table of Contents
📦 Installation
composer install shikiryu/shikiryurss
or
include '/path/to/this/library/autoload.php';
🚀 Usage
How to make it read RSS?
First, we need to load the RSS :
$rss = SRSS::read('http://exemple.com/rss.xml');
Easy, right? Then you can extract general information :
echo $rss->title; // will display blog title
Then, you can take care of articles. You can select a precise article :
$article1 = $rss->getItem(1); // or $rss->getFirst();
Or looping them :
foreach($rss as $article) {
echo '<a href="'.$article->link.'">'. SRSSTools::formatDate('d/m/y', $item->pubDate).' '.$item->title.'';
}
If you like arrays, you can transform the RSS into an array :
$rssArray = $rss->toArray();
You can also save it into your server with :
$rss->save('/www/rss/rss.xml'); // example
Or finally, you can display it with :
$rss->show();
How to make it create RSS?
First, we need to initialize the RSS :
$rss = SRSS::create();
Easy, right? Then you can add general information :
$rss->title = 'My Awesome Blog';
$rss->link = 'http://shikiryu.com/devblog/';
$rss->description = 'is awesome';
Those 3 are mandatory to validate your RSS, other options can be added. Then, you can add articles. Let's imagine $content contains an array from your database.
foreach($content as $item){
$rssitem = new Item(); // we create an item
$rssitem->title = $item["title"]; // adding title (option)
$rssitem->link = $item['link']; // adding link (option)
$rssitem->pubDate = $item["date"]; // date automatically transformed into RSS format (option)
$rssitem->description = $item["text"]; // adding description (mandatory)
$rss->addItem($rssitem); // we add the item into our RSS
}
There are 2 functions to add item. The first one will add items in the order you enter them, from top to bottom.
$rss->addItem($item);
The other one does the opposite and add the next item in top of your RSS
$rss->addItemBefore($item);
✨ Features
- Read every RSS 2.0
- Based on RSS 2.0 specifications.
- Write and validate RSS 2.0 file
- Based on RSS 2.0 specifications.
🛠️ Support
Please open an issue for support.
📝 Contributing
Please contribute using Github Flow. Create a branch, add commits, and open a pull request.
📜 License
Creative Commons Attribution NonCommercial (CC-BY-NC) © Chouchen
All documentation @ http://labs.shikiryu.com/SRSS/#_how.
Contact : https://shikiryu.com/contact