过去2天我一直在学习php和symfony,通过视频教程学习,因为我需要学习使用php和symfony等作为用java编写的spring应用程序的前端。
我正处于无效登录的部分,有些事情我无法理解,我不知道它的语法是什么,但它真的不清楚这里发生了什么:
{% if error %}
<div>{{error.messageKey|trans(error.messageData, 'security') }}</div>
{% endif %}
我理解错误对象是隐式可用的,因为框架将它放在那里但是发生了什么?看起来messageKey值被传递到trans函数但是该函数在做什么?
如果我只打印出error.messageKey而没有trans函数,那么管道符号是OR而不是此实例中的管道吗?
答案 0 :(得分:0)
管道符号是树枝过滤器&#39;。它告诉symfony和twig,他左边的文字需要翻译。
在此处详细了解http://symfony.com/doc/current/book/translation.html
来自评论:
有时,异常身份验证可能包含一个占位符数组值,然后用于转置error.messageKey,这是实际的消息字符串,但在示例中,我跟随占位符数组实际上是空的,字符串不包含和%var%占位符,所以我总是得到标准&#34;无效的凭证。&#34;
<div>{{ 'Invalid %vara% %name%' |trans({'%name%': 'Steve', '%vara%':'login'}, "app") }}</div>
- berimbolo