Symfony のイベント システムに関するガイドやチュートリアルをいくつか読みました。しかし、ネーミングのベストプラクティスについてはまだよくわかりません。残念ながら、ほとんどのドキュメントでは、ログインなどのデフォルトのシナリオが使用されています。ゲームの例を次に示します。
コマンドは、ある種の一致結果を評価します。次のような適切なイベントを発生させます。
$dispatcher->dispatch('game_bundle.match_won', new MatchWonEvent($match, $winner));
ここで、このイベントを処理するために複数のリスナーを登録したいと考えています。たとえば、これを勝者の Facebook ページに投稿するためのリスナーと、勝者の実績を予約するための別のリスナーです。例では、ログイン イベントを処理するリスナーが主に のようなLoginListener
名前であることがわかりましたが、この名前は、関連するイベントではなく、実際の使用に関連していませんか? 私の例では が必要ですがMatchWonListener
、Facebook と達成ロジックの両方を含める必要がありますか? そうなるとイベントシステムが使い物にならなくなります… 独自のメソッドを持つものと、独自のメソッドを持つものを用意した方がよいのではないでしょFacebookListener
うか。これにより、Facebook 関連のイベントを例に簡単に追加することもできます。onMatchWon($event)
AchievementListener
onMatchWon($event)
FacebookListener
サンプルの命名について混乱しており、今はよくわかりません。私はそれを完全に間違っていますか?