I’ve this controller, and the function read($q)
return error Call to undefined function sendRequest()
<?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; } }
I’m assuming it’s because I’m referencing the function in the wrong manner, but I can’t find any explanations for how to do it.
Advertisement
Answer
Try:
return $this->sendRequest($uri);
Since PHP is not a pure object-oriented language, it interprets sendRequest()
as an attempt to invoke a globally defined function (just like nl2br()
for example), but since your function is part of a class (InstagramController
), you need to use $this
to point the interpreter in the right direction.