1
0
mirror of https://github.com/Chouchen/ShikiryuRSS.git synced 2024-11-21 07:28:52 +01:00
Create and read RSS file in PHP http://labs.shikiryu.com/SRSS/
Go to file
Shikiryu 5ef0160145
🧪 Add failing tests
* 🚧 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>
2023-04-19 17:03:59 +02:00
src 🧪 Add failing tests 2023-04-19 17:03:59 +02:00
tests 🧪 Add failing tests 2023-04-19 17:03:59 +02:00
.gitignore 🙈 Add details for gitignore 2023-04-12 00:29:12 +02:00
autoload.php ⬆️ update dependencies and add an autoload if used without composer 2023-04-17 14:40:26 +02:00
composer.json 🚑️ Corrects last review 2023-04-13 21:14:13 +02:00
composer.lock ⬆️ update dependencies and add an autoload if used without composer 2023-04-17 14:40:26 +02:00
phpunit.xml Add original cases 2023-04-11 14:07:13 +02:00
README.md ⬆️ update dependencies and add an autoload if used without composer 2023-04-17 14:40:26 +02:00

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