2017-01-23 1 views
1

저는 Laravel을 처음 사용했습니다. 외부 API로 작업하려고합니다.curl_exec 결과를 Laravel에서 변수에 저장하는 방법

$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 콘텐츠를 배치

컨트롤러에서 내가 JSON으로 변수를 만들기 위해 단지 못해 HTML 파일의 시작, 심지어 META 정보 앞에. curl_exec 결과를 변수에 저장하지 않고 전역 결과로 전송합니다. 이 json을 변수에 저장 한 다음 내부 템플릿을 사용하는 방법은 무엇입니까?

+0

인생을 더 쉽게 만들어보세요. Guzzle을 배우십시오. – ceejayoz

+0

문제는 'curl_setopt ($ curl, CURLOPT_RETURNTRANSFER, TRUE);가 발생했습니다.' – EcStud

+0

예. Guzzle은 cURL 앞에 훨씬 더 멋진 API를 제공하며 Laravel에서 널리 사용됩니다. 당신은 cURLing을 훨씬 더 쉽고/깔끔하게 만들 것이므로 그것을 배우는 것을 고려해야합니다. – ceejayoz

답변

1

난 당신이 반환하는 대신 직접 출력하여 $ 결과 변수에 투입 할 수

curl_setopt($curl, CURLOPT_RETURNTRANSFER,TRUE); 

을 놓치고있어 생각합니다.

+0

예! 고맙습니다! – EcStud

+0

문제 없음 :)이 실수를 몇 번 나 자신으로 만들었습니다! – Kaylined

관련 문제