是否可以检查给定变量是否为字符串Twig?
预期的解决方案:
messages.en.yml:
hello:
stranger: Hello stranger !
known: Hello %name% !
Run Code Online (Sandbox Code Playgroud)
Twig 模板:
{% set title='hello.stranger' %}
{% set title=['hello.known',{'%name%' : 'hsz'}] %}
{% if title is string %}
{{ title|trans }}
{% else %}
{{ title[0]|trans(title[1]) }}
{% endif %}
Run Code Online (Sandbox Code Playgroud)
有可能这样做吗?或许你有更好的解决方案?
我有一个像这样的混合阵列(手机号码和实体):
$targets = array();
$targets[] = '+32647651212';
$targets[] = new Customer();
Run Code Online (Sandbox Code Playgroud)
在我的Twig模板中,我必须调用getMobile()if target是a Customer或只是打印数字,如果它实际上是一个数字(string).
instanceof在Twig中有类似操作符的东西吗?
<ul>
{% for target in targets %}
<li>{{ target instance of MyEntity ? target.getMobile : target }}</li>
{% else %}
<li>Nothing found.</li>
</ul>
Run Code Online (Sandbox Code Playgroud) 我有一组变量,我想在Twig模板中显示,每个变量可以是字符串或日期.
如果变量是日期,我想像这样应用date过滤器:
{{ my_var|date('d/m/Y') }}
Run Code Online (Sandbox Code Playgroud)
如果它是一个字符串,我希望它以通常的方式显示它:
{{ my_var }}
Run Code Online (Sandbox Code Playgroud)
有没有办法测试变量是否是日期(即PHP DateTime对象的实例)?