我已经阅读了一些关于 Symfonys 事件系统的指南/教程。但我仍然不确定命名最佳实践。不幸的是,大多数文档都使用默认场景,如登录等。所以这里有一个游戏的例子:
命令评估某种匹配结果。它会触发这样的适当事件:
$dispatcher->dispatch('game_bundle.match_won', new MatchWonEvent($match, $winner));
现在我想注册几个听众来处理这个事件,例如一个用于将其发布到获胜者的 Facebook 页面,另一个用于为获胜者预订成就。在示例中,我发现处理登录事件的侦听器主要被称为类似LoginListener
,但这个名称不应该与它的实际使用相关,而不是与它相关的事件吗?因为现在在我的示例中,我需要一个MatchWonListener
,但它是否应该同时包含 Facebook 和成就逻辑?那将使事件系统变得无用......不是更好FacebookListener
吗?这也可以轻松地将更多与 Facebook 相关的事件添加到示例中。onMatchWon($event)
AchievementListener
onMatchWon($event)
FacebookListener
我对样本中的命名感到困惑,现在不确定。我完全错了吗?