我是Laravel的新手。尝试使用外部API。
在控制器中,我不会只使用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;
}
但是,即使在META信息之前,json内容也会放在HTML文件的开头。 curl_exec不会将结果保存到变量,但会将其转移到全局结果。如何将这个json保存到变量然后使用内部模板?
答案 0 :(得分:1)
我相信你错过了
curl_setopt($curl, CURLOPT_RETURNTRANSFER,TRUE);
允许将返回值放入$ result变量,而不是直接输出。