有人知道如何连接树枝中的字符串吗?我想做的事情是:
{{ concat('http://', app.request.host) }}
有人知道如何连接树枝中的字符串吗?我想做的事情是:
{{ concat('http://', app.request.host) }}
当前回答
当您需要使用带有连接字符串(或基本数学操作)的过滤器时,您应该使用()来包装它。如:
{{('http://' ~ app.request.host) | url_encode}}
其他回答
Twig还有一个鲜为人知的特性是字符串插值:
{{ "http://#{app.request.host}" }}
这应该可以正常工作:
{{ 'http://' ~ app.request.host }}
在相同的标签中添加一个过滤器,如“trans”
{{ ('http://' ~ app.request.host) | trans }}
正如Adam Elsodaney指出的,你也可以使用字符串插值,这确实需要双引号字符串:
{{ "http://#{app.request.host}" }}
你要找的操作符是Tilde(~),就像Alessandro说的,这里是在文档中:
~:将所有操作数转换为字符串并连接。{{“你好 " ~名字~ "!"}}将返回(假设名字是“John”)你好,John!。——http://twig.sensiolabs.org/doc/templates.html其他运营商
这里有一个例子在文档的其他地方:
{% set greeting = 'Hello' %}
{% set name = 'Fabien' %}
{{ greeting ~ name|lower }} {# Hello fabien #}
{# use parenthesis to change precedence #}
{{ (greeting ~ name)|lower }} {# hello fabien #}
“{{…”-分隔符也可以在字符串中使用:
"http://{{ app.request.host }}"
在Symfony中,您可以将此用于协议和主机:
{{ app.request.schemeAndHttpHost }}
尽管@alessandro1997给出了一个关于串联的完美答案。