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