Badblog

welcome to our blog

We are Learncodz.


Posts

Comments

The Team

Blog Codz Author

Connect With Us

Join To Connect With Us

Portfolio

    Posted by: Anonymous Posted date: 08:30 / comment : 0

    In this tutorial, we will build a RSS 2.0 Feed with the PHP framework CodeIgniter. After this tutorial, you will be able to build a feed for any custom website in no time at all.
    • Program: CodeIgniter PHP Framework
    • Version: 1.7.1
    • Difficulty: Easy
    • Estimated Completion Time: 30 minutes
    Finished Product
    First, we'll take a look at the tools needed to get started. Besides an installation of CodeIgniter, we need a running MySQL database with some content from which we can build our feed.
    For this purpose, here are some dummy entries you can import. Create a database called tut_feeds. Then, copy the following code, and import it into your MySQL database.
    This is how it should appear in phpmyadmin. After you have pasted the code in, press the Ok button on the right side.
    If everything works correctly, you should see have something like this:
    Before we start writing code, we need to configure CodeIgniter.
    Browse to your CI folder, and then into system/application/config. We will need to edit the following files:
    • autoload.php
    • config.php
    • database.php
    • routes.php
    Edit the autoload.php like so:
    This will tell CI to load the database automatically; so we don't need to load it every time.
    Edit the config.php like so:
    You need to replace tutorials/ci_feeds with your directory and CI folder.
    Edit the database.php like so:
    With these settings, we tell CI which database to use. Here you also have to replace hostname, username and
    password with your personal database info.
    Edit the routes.php like this:
    The default controller is the "index" controller for your application. Every time you open
    localhost/YOUR DIRECTORY, this default controller will be loaded first. We'll create the feed in the next step.
    In this controller, all the magic happens. Browse to system/application/controllers and create a new file
    called feed.php. Next, create the Feed controller and have it extend the parent CI Controller.
    If you are already confused please have a look at Jeffrey's
    Easy Development with CodeIgniter tutorial.
    After you've learned the basics, return to continue this tutorial! :)
    Before the next step, we'll make use of CI's great helpers. Load the xml and text helper.
    Next, will create a model to receive data from the database. If you don't know what models are, have a look at the CI
    userguide. Browse to system/application/models
    and create a file called posts_model.php.
    We are using active records to receive data
    from the database. The first parameter declares the table we want to use and with the second we can set a limit - so we
    can tell CI how many records we want to retrieve.
    Perhaps you've noticed that $limit is set to NULL by default. This makes it possible to set a limit, but you don't have to.
    If you don't set a second parameter, this function will simply return all records.
    Now that we've created our model, we can continue with our feed controller. We'll load the posts_model that we just created.
    With the second parameter, we assign our model to a different object name - so we have less to type :P. Now we create the index
    method which is the method called by default. Let's set up some information for the feed view later too.
    While the majority of the information above is easy to understand, we will have a look at two of them.
    header("Content-Type: application/rss+xml"); is a very important part. This tells the browser to parse it as
    an RSS Feed. Otherwise the browser will try to parse it as plain text or html.
    With $data['posts'] = $this->posts->getPosts(10); we are using our model and are storing all records in the $posts array.
    I set the limit to 10; so it will return, at most, 10 records. You can set this value higher or lower if you want. If we leave it
    blank, like $data['posts'] = $this->posts->getPosts();, it would return all records.
    Finally, we need to load the view which we will create in the next step.
    Our $data array is passed as the second parameter to the view file, so we can access it in the view.
    Your feed controller should now look like this:
    Finally we have to create the view file - our output. Browse to system/application/views and crate a file called
    rss.php.
    First we set the xml version and the encoding within the head.
    Followed by some rss meta information.
    Now we will access the array $data from the previous step. We can access this data via the array keys, like so:
    Now we need to loop, with foreach, to get all records.
    For link and guide, you have to set a link to your controller where the posts are fetched. For example: my/posts/$post->id.
    I hope you noticed CDATA. This is used for text-output (content). Remember how we learned in the head that this is xml;
    so it has to be xml valid. If we don't set CDATA we'll potentially end up with invalid markup.
    Advertisement
    Now your files should look like this:
    system/application/controllers/feed.php
    system/application/models/posts_model.php
    system/application/views/rss.php
    And our feed looks like this, just with other content :)
    I hope you've learned how easy it is to build an RSS 2.0 Feed with the power of CodeIgniter. For more tutorials and screencasts on CodeIgniter, check out Jeffrey`s CodeIgniter from Scratch series.
    Follow us on Twitter,

    icon allbkg

    Tagged with:

    Next
    Newer Post
    Previous
    Older Post

    No comments:

Comments

The Visitors says
Download Free Software Latest Version