是否可以在Twig中使用本机php函数?

时间:2013-03-14 15:16:31

标签: php function templates symfony twig

我是Symfony的新手。如何在树枝模板中使用本机php函数?

例如,我想在这样的循环中使用函数chr

{% for directory in directories %}
    chr(loop.index)
{% endfor %}

2 个答案:

答案 0 :(得分:8)

答案 1 :(得分:3)

不,你不能直接在Twig中使用PHP。

有一些选择:

使用PHP作为模板引擎

您可以将PHP设置为模板引擎而不是twig。这意味着您在模板中使用PHP,并且可以使用所有本机PHP函数。有关如何执行此操作,请参阅this doc article

创建一个Twig扩展

您可以轻松创建自己的Twig扩展程序。最佳做法是创建AcmeTwigBundle,其中放置所有常见的Twig扩展。有关如何在Symfony中执行此操作,请参阅this doc article

从Twig 1.12开始(Symfony2.2附带它),有一个非常好的类,它允许您轻松地将PHP函数映射到twig函数:

new Twig_SimpleFilter('rot13', 'str_rot13');

这将创建一个rot13 Twig函数,该函数映射到str_rot13 PHP函数。