php – 在哪里为实体添加额外的辅助函数

我有一个实体,比如游戏,有一些属性,比如时间,它下面有一堆Event事件实体.关于游戏的一些信息隐含地存储在实体中,例如,死亡人数(由死亡事件数量给出).

如果我想在模板中显示死亡人数(可以访问游戏对象),我在哪里放逻辑?

我可以想到几个选项,但我不确定哪个是’正确’的做法.

>在存储库中放置一个getDeaths()函数
我得到的印象是它应该去的地方,但我不知道如何从模板中正确访问它.
>在Game实体中放置一个getDeaths()函数
最简单的事情,因为它可以从模板轻松访问.
>在Controller中创建一个函数
向控制器询问此信息似乎不灵活

最佳答案 如果您隐含地在Game实体中存储死亡数,那么只需向实体添加getDeaths()函数即可.你应该在那里拥有它,而不仅仅是保留一个可以修改的公共变量.

如果您必须直接从数据库中查询死亡人数,则需要Repository方法,在这种情况下,您可以直接将其传递给模板.

请记住,您可以将任意数量的变量传递给模板,因此不必只是

return array('game' => $game);

然后在你的模板中:

{{ game.numDeaths }}

您可以直接将死亡数量直接传递给模板,以便轻松访问:

return array('game' => $game, 'numDeaths' => $numDeaths);

然后在你的模板中:

{{ numDeaths }}

希望有所帮助.

点赞