我有自定义过滤器做一些事情。
我希望特定模块不包含在过滤器链中。换句话说,对于这个模块,我希望我的自定义过滤器不在此模块上执行并执行其他模块。
答案 0 :(得分:3)
我也使用自定义过滤器,在此过滤器中,您可以检索当前模块:
<?php
class customFilter extends sfFilter
{
public function execute ($filterChain)
{
$context = $this->getContext();
if ('moduleName' == $context->getModuleName())
{
// jump to the next filter
return $filterChain->execute();
}
// other stuff
}
}
否则,您也可以在filters.yml
文件中提供已排除的模块:
customFilter:
class: customFilter
param:
module_excluded: moduleName
在课堂上:
<?php
class customFilter extends sfFilter
{
public function execute ($filterChain)
{
$context = $this->getContext();
if ($this->getParameter('module_excluded') == $context->getModuleName())
{
// jump to the next filter
return $filterChain->execute();
}
// other stuff
}
}