所以我得到了一個簡單的函數,但我試圖發展我的OOP經驗,並試圖確保我可以使用我的代碼而無需編輯所有內容。在對象中獲取數據 - SimpleXML
這裏是我的簡單功能
$xmlfeed = file_get_contents('/forum/syndication.php?limit=3');
$xml = new SimpleXMLElement($xmlfeed);
$result = $xml->xpath('channel/item/title');
while(list(, $node) = each($result)) {
echo $node;
}
現在爲止我得到了這一點:
class ForumFeed {
private function getXMLFeeds($feed = 'all'){
/*
Fetch the XML feeds
*/
$globalFeedXML = file_get_contents('/forum/syndication.php?limit=3');
$newsFeedXML = file_get_contents('/forum/syndication.php?fid=4&limit=3');
/*
Turn feed strings into actual objects
*/
$globalFeed = new SimpleXMLElement($globalFeedXML);
$newsFeed = new SimpleXMLElement($newsFeedXML);
/*
Return requested feed
*/
if ($feed == 'news') {
return $newsFeed;
} else if ($feed == 'all') {
return $globalFeed;
} else {
return false;
}
}
public function formatFeeds($feed) {
/*
Format Feeds for displayable content..
For now we're only interested in the titles of each feed
*/
$getFeed = $this->getXMLFeeds($feed);
return $getFeed->xpath('channel/item/title');
}
}
$feeds = new ForumFeed();
但是試圖echo $feeds->formatFeeds('all');
當它不返回任何東西。結果是空白的。
我在做什麼錯?
var_dump($feeds->formatFeeds('all'));
返回
array(3) {
[0]=>
object(SimpleXMLElement)#3 (0) {
}
[1]=>
object(SimpleXMLElement)#4 (0) {
}
[2]=>
object(SimpleXMLElement)#5 (0) {
}
}
請指定標籤中的語言 – OldProgrammer
糟糕。謝謝@OldProgrammer – devs
你試着回顯一個數組,通常給你'「數組」(作爲字符串)。另請參閱:http://php.net/language.types.string#language.types.string.casting - 也嘗試隔離您的問題。它從來不是整個劇本。因此,暫時擱置您的腳本,然後創建一個新腳本,僅用於您想要在此處詢問的問題,只需要儘可能少的代碼來展示問題。也嘗試瞭解你自己,發生了什麼,爲什麼會發生。 – hakre