我对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,当访问页面时,调用此操作。