5

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

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

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

2 回答 2

8

Twig 允许您添加功能过滤器文档上有多个示例。

例如,

于 2013-03-14T15:21:01.467 回答
3

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

有一些选项:

使用 PHP 作为模板引擎

您可以将 PHP 设置为模板引擎而不是 twig。这意味着您在模板中使用 PHP,并且可以使用所有原生 PHP 函数。有关如何执行此操作的信息,请参阅此文档文章。

创建一个 Twig 扩展

您可以轻松创建自己的 Twig 扩展。最佳实践是创建一个AcmeTwigBundle放置所有常见 Twig 扩展的位置。请参阅这篇文档文章,了解如何在 Symfony 中执行此操作。

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

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

这将创建一个rot13映射到str_rot13PHP 函数的 Twig 函数。

于 2013-03-14T18:03:14.390 回答