tylerchr/phparess

RSS feed generator for PHP

dev-master 2019-01-04 10:05 UTC

This package is not auto-updated.

Last update: 2024-05-16 08:57:35 UTC


README

phparess is a set of PHP classes for generating RSS content, based on the 2.0 spec. It consists of three public classes that are used to define feed data:

  • Feed represents a complete RSS feed
  • Channel represents the channel of an RSS feed
  • Item represents an individual item in the channel

Both the channel and individual item can be created with their constructor, passing in an array of spec-defined properties to assign.

Channels

For example, I can create a new channel by saying:

$channel = new Channel(array(
	"title"=>"tylerchr's projects",
	"link"=>"http://github.com/tylerchr",
	"description"=>"tylerchr writes code on github"
));

We can define additional properties, such as language, copyright, and lastBuildDate the same way.

Items

Items are created identically to channels, by using the constructor:

$item = new Item(array(
	"title"=>"phparess (tylerchr project)",
	"link"=>"http://github.com/tylerchr/phparess",
	"description"=>"phparess is for generating simple RSS content"
));

Again, additional item properties can be added into the array, given that they are part of the RSS 2.0 spec. Non-specced properties will not be added.

We add items to our channel by saying $channel->addItem($item) and if we want to add many items at once, we can say $channel->addItems($items) passing in an array of Item objects.

The final feed

When we want to get the complete feed, we create a Feed object, set the channel, and then we can echo it back out. This is trivial, and to be true to spec, we should add a MIME type declaration at the top:

header('Content-type: application/rss+xml');	
$rss = new Feed();
$rss->setChannel($channel);
echo $rss;

Feedback

Feedback is welcome, but keep in mind that this is a work in progress.