Twig添加多个过滤器?

时间:2014-07-31 13:09:55

标签: php twig

是否可以在树枝中添加多个过滤器?

例如我有这个单一的过滤器

$app->twig->addFilter('_bah',new Twig_Filter_Function('_bah'));

如果我想添加我的所有功能,请执行此操作

$app->twig->addFilter('_bah1',new Twig_Filter_Function('_bah1'));
$app->twig->addFilter('_bah2',new Twig_Filter_Function('_bah2'));
..... etc

如果我想要在Twig模板中使用许多功能,但没有按类名{{ classname.method }}调用它们,我想将它们称为{{ "bla bla bla"|trim_me}}之类的过滤器是否可能?

1 个答案:

答案 0 :(得分:1)

您可以在Twig中创建扩展程序......

  

撰写扩展程序的主要动机是经常使用   将代码添加到可重用的类中,例如添加支持   国际化。扩展可以定义标签,过滤器,测试,   运算符,全局变量,函数和节点访问者。

     

创建扩展也可以更好地分离代码   在编译时执行并在运行时需要代码。因此,   它使您的代码更快。

     

大多数情况下,为您创建一个扩展程序非常有用   project,托管要添加的所有特定标记和过滤器   树枝。

http://twig.sensiolabs.org/doc/advanced.html#creating-an-extension

然后你只需要一行......

$twig->addExtension(new My_Twig_Extension_Class());