Yii2自定义ActionFilter不使用"仅"定义为通配符

时间:2017-03-16 14:11:57

标签: php yii2

我有: RestModule> TargetController扩展了BaseController

BaseController中的

public function behaviors()
{       
        $behaviors['myfilter'] = [
            'class' => MyFilter::className(),
            'only' => ['rest/target/*'],
        ];
        return $behaviors;
}

但我的过滤器一直工作到#34;只有"没有设置或者如果我使用"设置TargetController动作名称,除了"

在php 5.5 debian8上,Yii2 versin是2.0.11.2

1 个答案:

答案 0 :(得分:0)

由于版本2.0.9操作ID可以指定为通配符,例如现场/*。 yii2-doc

如果您想仅使用'附加过滤器属性并将ID作为通配符,例如target/*,您应该将其作为行为附加到模块类,而不是控制器。 在RestModule中尝试这个:

RestModule:

public function behaviors()
{
    $behaviors['myfilter'] = [
        'class' => MyFilter::className(),
        'only' => ['target/*'],
    ];
    return $behaviors;
}