从index.php页面呈现RSS提要并没有那么糟糕我已经看到了很多它的例子。但是我在上课时遇到了问题。这就是我所拥有的,我确信我有很多错误...... PHP不是我的强项,所以如果你能让我知道我哪里出错我会赞赏它......
<?php
class RssDisplay {
protected $fromrss;
protected $allitemscollected_feed;
public function __construct($urllink, $total_items){
$this->fromrss = $urllink;
$this->allitemscollected_feed = $total_items;
}
public function getItems($allitemscollected_feed){
$feed = simplexml_load_file($this->fromrss, $this->allitemscollected_feed);
return $feed;
$collected_items[] =$feed;
$this->set('collected_items', $collected_items);
}
foreach('allitemscollected' as $feed){
$items->title;
$items->pubDate;
$items->description;
}
}
从我的索引这是我正在做的事情:
$feed = new RssDisplay('http://feeds.feedburner.com/insidethehall?format=xml');
答案 0 :(得分:0)
你的构造有两个参数,但你 将它用于单个参数。
答案 1 :(得分:0)
对于初学者,我建议您查看Foreach和PHP OPP Basics,因为
foreach
不是任何方法foreach('allitemscollected' as $feed){
无效,因为foreach
第一个参数必须为array_expression return $feed;
被提前调用,这将使其他代码不可见$this->set(
方法不存在,但它被称为$this->set('collected_items', $collected_items);
simplexml_load_file
第二个参数需要是扩展SimpleXMLElement
但传递整数的有效类名您的简单类看起来像这样
class RssDisplay {
protected $maxItems;
private $xml;
public function __construct($url, $maxItems = 0) {
$this->xml = simplexml_load_file($url, "SimpleXMLIterator");
$this->maxItems = $maxItems;
}
public function getItems() {
return $this->xml->channel->item;
}
public function simpleDisplay() {
$it = ($this->maxItems == 0) ? $this->xml->channel->item : new LimitIterator($this->xml->channel->item, 0, $this->maxItems);
foreach ( $this->xml->channel->item as $feed ) {
printf("<div><h2><a href='%s'>%s</a></h2><i>%s</i><p>%s</p></div><br />", $feed->link, $feed->title, $feed->pubDate, $feed->description);
}
}
}
$rss = new RssDisplay("http://feeds.feedburner.com/insidethehall?format=xml");
$rss->simpleDisplay();
输出
格兰特兰德:大学篮球队预览:印第安纳州没有Hoosiers缺乏进攻火力,而Tom Crean的好处在于他从不害怕使用它。印第安纳上赛季在节奏的上半部分很好,并且在额外的一年的化学反应中,这是一个不错的选择[...]
莫里斯克里克替补出场,在上半场仅剩11分钟时走向大会堂得分手的桌子星期四晚上对阵印第安纳卫斯理的比赛。克里克与官方记分员一起检查,然后耐心地等待他已经考虑超过20个月的那一刻 - [...]
....... So may more