如何将 curl_exec 结果保存到 Laravel 中的变量中
How to save curl_exec result into variable in Laravel
我是 Laravel 的新手。尝试使用外部 API.
在 controller 中,我不会只是用 json:
来创建变量
$testapi = new TestApi();
$data['books'] = $testapi->books();
return view('books.index', $data);
在 model 中(只有 php class 没有任何扩展)这个:
public function books()
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $this->host."/books");
curl_setopt($curl, CURLOPT_HTTPHEADER, $this->headers);
$result = curl_exec($curl);
$result = json_decode($result);
curl_close($curl);
return $result;
}
但是json内容放在HTML文件的开头,甚至在META信息之前。 curl_exec 不将结果保存到变量,而是将其传输到全局结果。如何将这个 json 保存到变量中,然后在模板中使用?
我相信你不见了
curl_setopt($curl, CURLOPT_RETURNTRANSFER,TRUE);
这将允许将 return 放入您的 $result 变量中,而不是直接输出。
我是 Laravel 的新手。尝试使用外部 API.
在 controller 中,我不会只是用 json:
来创建变量 $testapi = new TestApi();
$data['books'] = $testapi->books();
return view('books.index', $data);
在 model 中(只有 php class 没有任何扩展)这个:
public function books()
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $this->host."/books");
curl_setopt($curl, CURLOPT_HTTPHEADER, $this->headers);
$result = curl_exec($curl);
$result = json_decode($result);
curl_close($curl);
return $result;
}
但是json内容放在HTML文件的开头,甚至在META信息之前。 curl_exec 不将结果保存到变量,而是将其传输到全局结果。如何将这个 json 保存到变量中,然后在模板中使用?
我相信你不见了
curl_setopt($curl, CURLOPT_RETURNTRANSFER,TRUE);
这将允许将 return 放入您的 $result 变量中,而不是直接输出。