有没有办法创建一个只能用于特定功能但不能用于其他功能的 Twig 过滤器?
例如,假设我有自定义函数 collection() 并且当我对其应用“排序”过滤器时,它将使用该扩展类中的过滤器函数“排序”而不是默认的树枝“排序”过滤器?
有没有办法创建一个只能用于特定功能但不能用于其他功能的 Twig 过滤器?
例如,假设我有自定义函数 collection() 并且当我对其应用“排序”过滤器时,它将使用该扩展类中的过滤器函数“排序”而不是默认的树枝“排序”过滤器?
这不可能根据输入类型使用内置过滤器或自定义过滤器。
我的建议是创建一个自定义my_sort
过滤器,该过滤器将根据您的需要具有不同的行为。
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();
}
}