yii過濾器有什么用

這篇文章將為大家詳細講解有關yii過濾器有什么用,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

創(chuàng)新互聯(lián)建站-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設、高性價比安寧網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式安寧網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設找我們,業(yè)務覆蓋安寧地區(qū)。費用合理售后完善,十載實體公司更值得信賴。

過濾器

過濾器是控制器動作執(zhí)行之前或之后執(zhí)行的對象。 例如訪問控制過濾器可在動作執(zhí)行之前來控制特殊終端用戶是否有權限執(zhí)行動作, 內(nèi)容壓縮過濾器可在動作執(zhí)行之后發(fā)給終端用戶之前壓縮響應內(nèi)容。               (推薦學習:yii框架)

過濾器可包含預過濾(過濾邏輯在動作之前)或后過濾(過濾邏輯在動作之后), 也可同時包含兩者。

使用過濾器

過濾器本質上是一類特殊的 行為, 所以使用過濾器和 使用行為一樣。 可以在控制器類中覆蓋它的 behaviors() 方法來聲明過濾器,如下所示:

public function behaviors()
{
    return [
        [
            'class' => 'yii\filters\HttpCache',
            'only' => ['index', 'view'],
            'lastModified' => function ($action, $params) {
                $q = new \yii\db\Query();
                return $q->from('user')->max('updated_at');
            },
        ],
    ];
}

控制器類的過濾器默認應用到該類的 所有 動作, 你可以配置 only 屬性明確指定控制器應用到哪些動作。 在上述例子中,HttpCache 過濾器只應用到 index 和 view 動作。 也可以配置 except 屬性 使一些動作不執(zhí)行過濾器。

除了控制器外,可在 模塊或應用主體 中申明過濾器。 申明之后,過濾器會應用到所屬該模塊或應用主體的 所有 控制器動作, 除非像上述一樣配置過濾器的 only 和 except 屬性。

注意: 在模塊或應用主體中申明過濾器,在only 和 except 屬性中使用路由 代替動作 ID, 因為在模塊或應用主體中只用動作ID并不能唯一指定到具體動作。

當一個動作有多個過濾器時,根據(jù)以下規(guī)則先后執(zhí)行:

預過濾

按順序執(zhí)行應用主體中 behaviors() 列出的過濾器。

按順序執(zhí)行模塊中 behaviors() 列出的過濾器。

按順序執(zhí)行控制器中 behaviors() 列出的過濾器。

如果任意過濾器終止動作執(zhí)行, 后面的過濾器(包括預過濾和后過濾)不再執(zhí)行。

成功通過預過濾后執(zhí)行動作。

后過濾

倒序執(zhí)行控制器中 behaviors() 列出的過濾器。

倒序執(zhí)行模塊中 behaviors() 列出的過濾器。

倒序執(zhí)行應用主體中 behaviors() 列出的過濾器。

關于“yii過濾器有什么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

文章名稱:yii過濾器有什么用
轉載源于:http://bm7419.com/article40/igoceo.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、移動網(wǎng)站建設標簽優(yōu)化、微信小程序、定制開發(fā)手機網(wǎng)站建設

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設