How to generate Web feed for an application

Web feed is a data format used for providing users with frequently updated content. In this article, we describe how to use Zend_Feed, an excellent component from Zend Framework to generate Web feed for an Yii application. This article can also serve as a general guide on how to use other components in Zend Framework.

To begin with, we download Zend Framework and extract it to the directory protected/vendors/Zend. Verify the file protected/vendors/Zend/Feed.php exists.

Then, in SiteController (or another controller if you like) create a feed action as follows,


public function actionFeed()
	// retrieve the latest 20 posts
		'order'=>'createTime DESC',
	// convert to the format needed by Zend_Feed
	foreach($posts as $post)
	// generate and render RSS feed
		'title'   => 'My Post Feed',
		'link'    => $this->createUrl(''),
		'charset' => 'UTF-8',
		'entries' => $entries,		
	), 'rss');

To this end, the feed is done and we can access it via the following URL:

Using the URL management feature of Yii, we can beautify the above URL to something like

We can insert this link to the head section of a page using the following code:


We can also use [CHtml::linkTag()] to directly insert the link tag at the current place in a page. The difference between these approaches is that the former code can be written anywhere while the latter can only appear in the head section of a view (or layout).

The Zend_Feed component has many other features. If you are interested, please refer to its documentation.

3 0
Viewed: 37 482 times
Version: 1.1
Category: Tutorials
Written by: qiang
Last updated by: Yang He
Created on: Feb 28, 2009
Last updated: 11 years ago
Update Article


View all history