其实很简单,看指南:
使用加号和减号运算符,我们可以指定过滤器应该和不应该应用于哪些操作。在上面,postOnly 过滤器将应用于编辑和创建操作,而 PerformanceFilter 过滤器将应用于除编辑和创建之外的所有操作。如果过滤器配置中既没有出现加号也没有出现减号,则过滤器将应用于所有操作。
所以你的代码会变成这样:
array(
'COutputCache + actionId, actionId2', // applies filter to only actions actionId and actionId2
'duration'=>100,
'varyByParam'=>array('id'),
),
或者,如果您想将过滤器应用于除 actionId 和 actionId2 之外的所有操作:
array(
'COutputCache - actionId, actionId2', // applies filter to all actions except actions actionId and actionId2
'duration'=>100,
'varyByParam'=>array('id'),
)
要使用+
或-
取决于哪个集合更小要指定,例如从 10 个动作中您想要将过滤器应用于除 2 个动作之外的所有动作,然后用于-
指示过滤器不应该应用于的 2 个动作。但是,如果您想从 10 个操作中仅对 2 个操作应用过滤器,则使用+
.
注意:如果你想知道actionId,它是在action之后的字符串public function actionHelloWorld(){...}
,所以在这个例子中是helloWorld
。