让我们说我有一个类似的设置,将翻译后的字符串,变量和分隔符(空格)混合在一张纸上。
{{ "app.user.welcometxt"|trans ~" "~ app.user.name ~" "~ app.user.lastname }}
这是一个好习惯吗? 还是应该将变量放在单独的语句中并依次打印?
{{ "app.user.welcometext"|trans }} {{ app.user.name }} {{ app.user.lastname }}
解决此问题的最佳方法是什么? 最快或最佳的性能是什么?
答案 0 :(得分:0)
虽然我个人认为显式形式更具可读性,但是不同代码样式的可读性却是很固执的事情。
性能方面的显式形式...
{{ "app.user.welcometext"|trans }} {{ app.user.name }} {{ app.user.lastname }}
...绝对更好,因为Twig在替换3个字符串之前不必串联它们。我强烈建议您让Twig在内部处理这种类型的“优化”。
使用Twig输出用户问候语的更灵活方法如下:
{% trans with {'%name%': user.name, '%lastname%': user.lastname} from 'app' %}
{{- app.user.welcometext -}}
{% endtrans %}
然后将欢迎文本设置为Hello %name% %lastname%
之类的内容。
这将使您轻松地添加更多文本(即使用Hello %name% %lastname%. How are you feeling today?
之类的问候语),而无需更改模板。