旗下导航:搜·么
当前位置:网站首页 > PHP框架 > YII > 正文

yii过滤器是什么【yii框架教程】,yii

作者:搜搜PHP网发布时间:2019-12-28分类:YII浏览:88


导读:过滤器过滤器是掌握器行动实行之前或以后实行的对象。比方接见掌握过滤器可在行动实行之前来掌握特别终端用户是不是有权限实行行动,内容紧缩过滤器可在行动实行以后发给终端用户之...

过滤器

过滤器是掌握器行动实行之前或以后实行的对象。 比方接见掌握过滤器可在行动实行之前来掌握特别终端用户是不是有权限实行行动, 内容紧缩过滤器可在行动实行以后发给终端用户之前紧缩相应内容。 (引荐进修: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 属性 使一些行动不实行过滤器。

除了掌握器外,可在 模块或运用主体 中说明过滤器。 说明以后,过滤器会运用到所属该模块或运用主体的 一切 掌握器行动, 除非像上述一样设置过滤器的 only 和 except 属性。

注重: 在模块或运用主体中说明过滤器,在only 和 except 属性中运用路由 替代行动 ID, 由于在模块或运用主体中只用行动ID并不能唯一指定到细致行动。

当一个行动有多个过滤器时,依据以下划定规矩前后实行:

预过滤

按递次实行运用主体中 behaviors() 列出的过滤器。

按递次实行模块中 behaviors() 列出的过滤器。

按递次实行掌握器中 behaviors() 列出的过滤器。

假如恣意过滤器停止行动实行, 背面的过滤器(包含预过滤和后过滤)不再实行。

胜利经由过程预过滤后实行行动。

后过滤

倒序实行掌握器中 behaviors() 列出的过滤器。

倒序实行模块中 behaviors() 列出的过滤器。

倒序实行运用主体中 behaviors() 列出的过滤器。

以上就是yii过滤器是什么的细致内容,更多请关注ki4网别的相干文章!

标签:yii