如何将curl_exec结果保存到Laravel的变量中
问题描述:
我是Laravel的新用户。尝试使用外部API。如何将curl_exec结果保存到Laravel的变量中
在控制器我不会只是为了使可变用JSON:
$testapi = new TestApi();
$data['books'] = $testapi->books();
return view('books.index', $data);
在模型(只是PHP类没有任何延伸)这样:
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保存到变量,然后使用里面的模板?
让你的生活更轻松:学习古惑。 – ceejayoz
这个问题只是因为'curl_setopt($ curl,CURLOPT_RETURNTRANSFER,TRUE);' – EcStud
是的。 Guzzle在cURL前面提供了一个更好的API,并在整个Laravel广泛使用。你应该考虑学习它,因为它会让你的曲线更容易/更清晰。 – ceejayoz