PHP объект не может найти метод - PullRequest
0 голосов
/ 16 апреля 2010

Итак, у меня есть очень простой класс, в котором есть метод 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 ]

4 голосов
/ 16 апреля 2010

Добавьте фигурные скобки вокруг $photo->getThumbUrl() в вашем эхо. Вот что происходит. Без использования метода в фигурных скобках PHP попытается разрешить $photo->getThumbUrl и обработает () как простой текст. Ошибка, которую вы видите, это то, что PHP жалуется, что $photo->getThumbUrl не было объявлено, как на самом деле нет.

foreach($photos as $photo) {
    echo "<img src='{$photo->getThumbUrl()}' />";
}
2 голосов
/ 16 апреля 2010

Из того, что вы говорите, вы называете это как:

FlickrImage::$getFullUrl

Вместо:

FlickrImage::$getFullUrl()

Итак, вам не хватает () в конце.

foreach($photos as $photo) {
    echo '<img src="' . $photo->getThumbUrl() . '" />';
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...