2017-06-01 49 views
0

嘗試從外部API請求數據時,我想控制如何將響應傳遞到我的視圖或數據庫。然而,下面編寫代碼的正確方法是什麼,所以不是簡單地將數據回顯到視圖上,而是將其存儲在一個對象中,我可以以更受控制的方式將其傳遞給我的視圖或模型?將變量從PHP響應傳遞到刀片視圖對象

public function index() 
    { 
     $contents = $this->saveApiData(); 
     return View::make('stats.index')->with('contents', $contents); 
    } 

    public function saveApiData() 
    { 
     $client = new Client(['base_uri' => 'https://owapi.net/api/v3/u/']); 
     $res = $client->request('GET', "data" . "/blob"); 
     echo $res->getStatusCode(); 
     echo $res->getBody(); 
    } 
+0

也許[this](https://stackoverflow.com/a/44284841/6193316)(請閱讀評論)將幫助你。我不知道另一種方式,直到 – UfguFugullu

回答

1

只要將它們放在一個數組中並返回即可。你永遠不會在函數中回顯數據以返回它們。

public function saveApiData() 
{ 
    $client = new Client(['base_uri' => 'https://owapi.net/api/v3/u/']); 
    $res = $client->request('GET', "data" . "/blob"); 

    $contents = [ 
     'status' => $res->getStatusCode(), 
     'body' => $res->getBody() 
    ]; 

    return $contents; 
} 
+0

謝謝,但是,這似乎返回響應正文作爲一個普通的字符串。你知道我可以如何控制JSON響應的方式,類似於JavaScript對象嗎? – dwigt

+1

使用'json_decode'將字符串轉換爲數組。 – Sandeesh