Вызов другой функции в том же контроллере?

Я использую Laravel. Вот класс, над которым я работаю:

<?php class InstagramController extends BaseController { /* |-------------------------------------------------------------------------- | Default Home Controller |-------------------------------------------------------------------------- | | You may wish to use controllers instead of, or in addition to, Closure | based routes. That's great! Here is an example controller method to | get you started. To route to this controller, just add the route: | | Route::get('/', 'HomeController@showWelcome'); | */ public function read($q) { $client_id = 'ea7bee895ef34ed08eacad639f515897'; $uri = 'https://api.instagram.com/v1/tags/'.$q.'/media/recent?client_id='.$client_id; return sendRequest($uri); } public function sendRequest($uri){ $curl = curl_init($uri); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0); $response = curl_exec($curl); curl_close($curl); return $response; } } 

Линия:

 return sendRequest($uri); 

Выдает ошибку: вызов неопределенной функции sendRequest ()

Я предполагаю, что это потому, что я ссылаюсь на функцию неправильно, но я не могу найти никаких объяснений, как это сделать.

Solutions Collecting From Web of "Вызов другой функции в том же контроллере?"

Пытаться:

 return $this->sendRequest($uri); 

Поскольку PHP не является чистым языком Object-Orieneted, он интерпретирует sendRequest() как попытку вызвать глобально определенную функцию (например, как nl2br() ), но поскольку ваша функция является частью класса («InstagramController») вам нужно использовать $this чтобы указать интерпретатору в правильном направлении.

Да. Проблема в неправильной нотации. Использование:

 $this->sendRequest($uri) 

Вместо. Или

 self::staticMethod() 

для статических методов. Также прочитайте это, чтобы получить представление о ООП – http://www.php.net/manual/en/language.oop5.basic.php