2017-01-23 10 views
1

私はLaravelを初めて使っています。外部APIを使用しようとしています。curl_execの結果をLaravelの変数に保存するには

私はJSONと変数を作るために習慣 コントローラ

:この(任意無しだけのPHPクラスが延びる)モデル

$testapi = new TestApi(); 
$data['books'] = $testapi->books(); 
return view('books.index', $data); 

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コンテンツが配置されていますMETA情報の前であっても、HTMLファイルの先頭にあります。 curl_exec結果を変数に保存せず、グローバル結果に転送します。このjsonを変数に保存して内部のテンプレートを使用する方法

+0

あなたの人生を楽にしてください:Guzzleを学ぼう。 – ceejayoz

+0

問題は 'curl_setopt($ curl、CURLOPT_RETURNTRANSFER、TRUE);のためだけでした; – EcStud

+0

はい。 GuzzleはcURLの前にはるかに優れたAPIを提供し、Laravel全体で広く使用されています。あなたはそれを学ぶことを考慮すべきです、それはあなたのcURLをより簡単に/きれいにするでしょう。 – ceejayoz

答えて

1

は、私はあなたのリターンではなく、直接出力するので、あなたの$結果変数に入れることができるようになります

curl_setopt($curl, CURLOPT_RETURNTRANSFER,TRUE); 

を逃していると信じています。

+0

はい!ありがとうございました! – EcStud

+0

問題はありません:)このミスを数回自分でしました! – Kaylined

関連する問題