2010-04-16 3 views
0

Так у меня есть очень простой класс, который имеет метод, называемый getThumbUrl(), но когда я пытаюсь вызвать этот метод на примере я получаюPHP объект не может найти метод

Примечание: Не определено свойство: 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()' />"; 
} 
+0

Hate разорвать его к вам, но ваш Еогеасп звонит $ фото-> getFullUrl(), но функция/метод вы Размещенное getThumbUrl(). Опечатка? –

+0

Извините! эта функция существует слишком, хотя – Danny

+0

Можете ли вы предоставить еще какой-нибудь код? Как вы получаете изображения и т. Д. Из того, что вы разместили, сложно помочь. –

ответ

4

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

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

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

FlickrImage::$getFullUrl 

Вместо:

FlickrImage::$getFullUrl() 

Значит, вам не хватает () в конце.

foreach($photos as $photo) { 
    echo '<img src="' . $photo->getThumbUrl() . '" />'; 
} 
Смежные вопросы