PDA

View Full Version : [PHP] RSSReader Class



timROGERS
14-02-2007, 07:21 PM
I just wrote my first ever class in PHP :) Classes are part of the idea of Object Based Programming (OBP). It just means that you can easily do something as many times as you need to - it is especially easy if you need to run functions again and again with the same parameters.

The class that I wrote is a simple RSS reader. You just have to create the object, and then set the URL of the feed, and then run two functions. It is only compatible with PHP 5 and upwards - if you don't know if you fit this requirement make sure you run "$RSSReader->CheckVersion();". Here is the main coding, RSSReader.class.php:


<?php
// RSS Reader in PHP5
// by Tim Rogers

class RSSReader {
var $FeedURL;

function CheckVersion() {
$yourphpversion = phpversion();
$comparison = version_compare($yourphpversion, '5.0.0');
if ($comparison == -1) {
die("To use RSSReader, you need to upgrade to at least PHP5.");
}
}

function EchoChannel() {
$_loadfeed = simplexml_load_file($this->FeedURL);
$channel_to_echo .= '<strong><u><a href="';
$channel_to_echo .= $_loadfeed->channel->link;
$channel_to_echo .= '">';
$channel_to_echo .= $_loadfeed->channel->title;
$channel_to_echo .= '</a></u></strong>';
echo $channel_to_echo;
}

function EchoArticles() {
$_loadfeed = simplexml_load_file($this->FeedURL);
foreach ($_loadfeed->channel->item as $item) {
echo "<a href='" . $item->link . "'>" . $item->title . "</a>";
echo "<br />";
echo $item->description;
echo "<br /><br />";
}
}
}
?>


I expect, unless you have used classes before, which you likely haven't, you are confused now. You're probably asking how you use this! Well, here is my test.php:


<?php
// RSS Reader Class Test
// by Tim Rogers

// The script will fail unless the class can be loaded
require("RSSReader.class.php");

// Creates an "RSSReader" object
$RSSReader = new RSSReader;
// Checks your PHP version (not necessary)
$RSSReader->CheckVersion();
// Sets the URL of the feed you'd like to parse
$RSSReader->FeedURL = "http://www.habbo.co.uk/news/rss.xml";
// Sends the feed title to the browser, linked to the homepage of the feed
$RSSReader->EchoChannel();
echo "<br><br>";
// Shows the articles, linked to their full story, with a short description
$RSSReader->EchoArticles();
?>

If you want to see it in action, visit http://php5.tim-rogers.co.uk/RSSReader/test.php5

Luckyrare
14-02-2007, 07:26 PM
Nice one Tim, very handy!

timROGERS
15-02-2007, 07:41 AM
I guess that no one replies because they don't understand :p :big_grin:

ZAG
15-02-2007, 07:51 AM
I suppose thats very good for a first class, infact, it is. I might write my first today.

BTW. It's OOP

timROGERS
15-02-2007, 08:04 AM
I suppose thats very good for a first class, infact, it is. I might write my first today.

BTW. It's OOP

I just noticed that now :P It's Object Orientated Programming isn't it :P Post your class when you're done :)

ZAG
15-02-2007, 08:09 AM
I will do, probably wont do it until Ive come home from school.

Want to hide these adverts? Register an account for free!