如何将 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 变量中,而不是直接输出。