如何将curl_exec结果保存到Laravel中的变量中

时间:2017-01-23 00:25:23

标签: php laravel api

我是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保存到变量然后使用内部模板?

1 个答案:

答案 0 :(得分:1)

我相信你错过了

curl_setopt($curl, CURLOPT_RETURNTRANSFER,TRUE);

允许将返回值放入$ result变量,而不是直接输出。