在看 http://www.imooc.com/learn/163
用php開發app的接口
基本就是我現在在做的東西
一句話,就是給app返回json
具體點
就是組合header後,把content的array用json_encode轉換下輸出
```php
// 設定header
$oResponse = Yii::$app->response;
$oResponse->format = Response::FORMAT_RAW;
$oResponse->getHeaders()->removeAll();
foreach ($aHeader as $sKey => $sVal) {
$oResponse->getHeaders()->set($sKey, $sVal);
}
// json送信
$oResponse->content = $sJson;
```
關於 Yii::$app->response的 具體說明
[yii2 權威指南 響應](http://www.yiichina.com/doc/guide/2.0/runtime-responses)
打開下response.php,如果不是下載文件的話,也是用echo來把結果來進行輸出而已
```php
protected function sendContent()
{
if ($this->stream === null) {
echo $this->content;
return;
}
```
有幾句話要注意
> 在yii\web\Response::send() 方法調用前響應中的內容不會發送給用戶, 該方法默認在yii\base\Application::run() 結尾自動調用,儘管如此,可以明確調用該方法強制立即發送響應。
> 一旦yii\web\Response::send() 方法被執行後,其他地方調用該方法會被忽略, 這意味着一旦響應發出後,就不能再追加其他內容。
所以,什麼也不用做,設置完了response,等action默默執行就好,不要自己去send