我的 Web 应用程序作为顶栏,我需要在其中显示未读消息的数量。每个User
实体都作为一个关联Message
(多对多)。显示消息总数(对于给定用户)很简单:
class User
{
/*
* @ORM\ManyToMany(targetEntity="Message", invertedBy="users")
*/
private $messages;
}
在树枝中:
Total messages: {{ app.user.messages|length }}.
但是如果我只需要计算新消息怎么办?假设我的存储库有一个getNewMessages(User $user)
方法,如何全局分配这个值以在每个模板中使用?
我知道 Twig 全局变量,但我不知道我应该把相关代码放在哪里:
$twig = new Twig_Environment($loader);
$twig->addGlobal('text', new Text());
{{ text.lipsum(40) }}