PHP对象找不到方法

时间:2010-04-16 18:18:56

标签: php oop

所以我有一个非常简单的类,它有一个名为getThumbUrl()的方法但是当我尝试在一个实例上调用这个方法时我得到了

注意:未定义的属性:FlickrImage :: $ getThumbUrl

但显然存在。以下是FlickrImage类中函数的代码:

public function getThumbUrl()
{
    return "http://farm".$this->_farm.".static.flickr.com/".$this->_server."/".$this->_id."_".$this->_secret."_t.jpg";
}

以下是其他测试文件失败的地方:

$flickrTester = new FlickrManager();

$photos = $flickrTester->getPhotoStreamImages(9, 1);

foreach($photos as $photo) {
    echo "<img src='$photo->getThumbUrl()' />";
}

2 个答案:

答案 0 :(得分:4)

在回声中的$photo->getThumbUrl()周围添加花括号。这是最近发生的事情。如果不围绕花括号中的方法,PHP将尝试解析$photo->getThumbUrl并将()视为纯文本。你看到的错误是PHP抱怨$photo->getThumbUrl尚未声明,事实上它没有。

foreach($photos as $photo) {
    echo "<img src='{$photo->getThumbUrl()}' />";
}

答案 1 :(得分:2)

根据你的说法,你称之为:

FlickrImage::$getFullUrl

而不是:

FlickrImage::$getFullUrl()

所以你最后错过了()

foreach($photos as $photo) {
    echo '<img src="' . $photo->getThumbUrl() . '" />';
}