只能用于自定义扩展功能的树枝过滤器
问题描述:
有没有什么方法可以创建只能与特定功能一起使用的树枝过滤器?只能用于自定义扩展功能的树枝过滤器
例如让我说我有自定义函数集合(),当我应用“排序”过滤器它会使用过滤器功能“排序”在该扩展类不是默认的树枝“排序”过滤器?
答
根据输入类型,无法使用内置过滤器或自定义过滤器。
我的建议是创建一个自定义的my_sort
过滤器,根据您的需要会有不同的行为。
- 如果变量是Colleciton的实例,那么你用一个
sort()
方法 - 否则,您复制默认
sort
过滤器的行为。
喜欢的东西:
public function getFilters()
{
return array(
'my_sort' => new \Twig_Filter_Method($this, 'my_sort'),
);
}
public function my_sort($stuff)
{
if (is_array($stuff))
{
sort($stuff);
}
else if ((is_object($stuff)) && ($stuff instanceof Collection))
{
$stuff->sort();
}
}