是否可以在树枝中添加多个过滤器?
例如我有这个单一的过滤器
$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}}
之类的过滤器是否可能?
答案 0 :(得分:1)
您可以在Twig中创建扩展程序......
撰写扩展程序的主要动机是经常使用 将代码添加到可重用的类中,例如添加支持 国际化。扩展可以定义标签,过滤器,测试, 运算符,全局变量,函数和节点访问者。
创建扩展也可以更好地分离代码 在编译时执行并在运行时需要代码。因此, 它使您的代码更快。
大多数情况下,为您创建一个扩展程序非常有用 project,托管要添加的所有特定标记和过滤器 树枝。
http://twig.sensiolabs.org/doc/advanced.html#creating-an-extension
然后你只需要一行......
$twig->addExtension(new My_Twig_Extension_Class());