本文實例講述了Yii框架響應(yīng)組件用法。分享給大家供大家參考,具體如下:
當(dāng)我們的瀏覽器發(fā)送過來一個請求之后,在我們的操作里面對請求經(jīng)過處理之后,我們的服務(wù)器也會把請求的結(jié)果打包成一個消息,然后把這個消息返還給瀏覽器,這個消息我們稱之為響應(yīng)。在我們的操作中,我們也可以對響應(yīng)進行一些設(shè)置和處理。要處理我們的響應(yīng),我們需要先獲得響應(yīng)組件這個東西。
$response = \Yii::$app->response;
有了這個響應(yīng)組件之后,我們可以對響應(yīng)消息進行一些設(shè)置了,比如設(shè)置響應(yīng)的狀態(tài)碼。
$response->setStatusCode(404);
//兩種方法都可以設(shè)置
$response->statusCode = '404';
這個時候我們再來訪問時,會出現(xiàn)404的錯誤,打開開發(fā)者調(diào)試工具,在network選項下面也是可以看到404的狀態(tài)碼了

我們還可以添加一些頭部信息
//禁止瀏覽器緩存我們的消息
$response->headers->add("pragma","no-cache");
再次刷新后,我們就可以在頭部信息中看到 pragma:no-cache的字樣了,這個時候瀏覽器就不會緩存我們的消息。
同樣我們也可以對頭部信息進行修改
//告訴瀏覽器收到我們的消息后把我們的消息緩存5秒鐘
$response->headers->set("pragma","max-age=5");
刷新后,我們可以看到我們的pragma字段確實編程了max-age=5。
同樣,我們還可以刪除一些信息。
$response->headers->remove("pragma");
http頭部還有很多有意思的功能,比如文件下載
$response->headers->add("content-disposition","attachment;filename='abc.jpg'");
在瀏覽器中刷新之后,我們可以看到瀏覽器下載了abc.jpg的文件。
下載文件這個功能很常用,所以在response中給我們包裝了一個方法,sendFile
$response->sendFile('./favicon.ico');
刷新后可以看到瀏覽器下載當(dāng)前目錄下的favicon.ico這個文件,如果文件不存在則會報錯。
關(guān)于響應(yīng)組件更多的使用方法可以參考我們的權(quán)威指南。
更多關(guān)于Yii相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Yii框架入門及常用技巧總結(jié)》、《php優(yōu)秀開發(fā)框架總結(jié)》、《smarty模板入門基礎(chǔ)教程》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家基于Yii框架的PHP程序設(shè)計有所幫助。
您可能感興趣的文章:- Yii框架學(xué)習(xí)筆記之應(yīng)用組件操作示例
- yii2高級應(yīng)用之自定義組件實現(xiàn)全局使用圖片上傳功能的方法
- Yii框架組件和事件行為管理詳解
- Yii擴展組件編寫方法實例分析
- yii2行為的方法如何注入到組件類中詳解
- Yii框架核心組件類實例詳解
- PHP的Yii框架中移除組件所綁定的行為的方法
- Yii框架自定義數(shù)據(jù)庫操作組件示例
- Yii2中組件的注冊與創(chuàng)建方法
- Yii框架組件的事件機制原理與用法分析
- Yii框架應(yīng)用組件用法實例分析