如何在 Zend 中使用自动更新创建 RSS 提要


how to create rss feed with autoupdate in Zend

我对Zend Framework和RSS也很陌生。我想在我的网站上创建RSS提要(当然,用户可以使用XML文件)。我创建了RssController和相应的视图:rss/index.phtml 。XML文件生成对我来说效果很好。

RssControllers我有indexAction

public function indexAction() 
{       
    $feedData = array(...);
    $feed = Zend_Feed::importArray ( $feedData, 'rss' ); 
    $rssFeed = $feed->saveXML();
    $fh = fopen("rss.xml", "w");
    fwrite($fh, $rssFeed);
    fclose($fh);
}

正如你所猜到的,每次访问mysite/rss时都会生成我的rss.xml文件。如果可能的话,我想在某个时间间隔内创建 RSS 提要自动更新。当然,不是每次访问 rss 子网站时都会生成。我怎么能做这样的事情?

哼,我不确定你想要什么,但是:

您不需要文件处理程序。

// Disable VIEW/Layout 
$this->_helper->layout->disableLayout();
$this->_helper->viewRenderer->setNoRender(true);
$feed = Zend_Feed::importArray ( $feedData, 'rss' ); 
echo $feed->send();

所以浏览器得到"XML"而不是HTML或其他任何东西。

您可以通过三种方式更新 RSS:

1 - 使用异步系统

2 - 将控制器的 URL 插入 CRON 系统(crontab Linux 或任务计划程序窗口),并在需要时发出请求。

3 - 创建一个Zend_Action_Helper,当访问页面时,调用此操作。