[解決済み] Doctrine リスナー vs サブスクライバー
2023-06-24 10:36:14
質問
Symfony2 フレームワークで作業しているのですが、Doctrine のサブスクライバーとリスナーの使い分けはどのような場合に行うのでしょうか? Doctrine の ドキュメント のリスナーに関するドキュメントはとてもわかりやすいのですが、サブスクライバーについてはあまりよくわかりません。 symfony の クックブックのエントリ は似ています。
どのように解決するのですか?
私の見解では、大きな違いは1つだけです。
- Listener は、リスニングするイベントを指定してサインアップします。
- Subscriber は、リスニングしているイベントをディスパッチャに伝えるメソッドを持っています。
これは大きな違いに見えないかもしれませんが、よく考えてみると、どちらかを使いたいケースもあるはずです。
- 登録時に設定されるため、1つのリスナーを異なるイベントを持つ多くのディスパッチャに割り当てることができます。すべてのメソッドがリスナー内に配置されていることを確認するだけです。
-
の戻り値を変更することで、サブスクライバーが登録されるイベントを実行時やサブスクライバー登録後にも変更することができます。
getSubscribedEvents
(非常に騒がしいイベントを聞いていて、一度だけ何かを実行したい時を考えてみてください)
他にも私が気づいていない違いがあるかもしれませんが!
関連
-
[解決済み] Composerで単一のライブラリを更新する方法は?
-
[解決済み] Doctrineのデフォルト値
-
[解決済み】Doctrine2: 参照テーブルで余分なカラムを持つ多対多を処理する最良の方法
-
[解決済み】Doctrine QueryBuilder で行数を数える。
-
[解決済み】Twigテンプレートで現在のURLを取得する?
-
[解決済み] Symfony2のTwigテンプレートで設定パラメータを取得する方法
-
[解決済み] Twigのパスに複数のパラメータを追加する
-
[解決済み] テンプレート内のログインユーザーにアクセスする
-
[解決済み] EntityManagerは終了しました。
-
[解決済み] composerのインストールが300秒後にタイムアウトするのはなぜですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】拡張子.yamlと.ymlの違いは何ですか?[重複あり]
-
[解決済み】Symfony 2.xでは、本当にすべてをバンドルにすべきなのか?
-
[解決済み] findAll Doctrine のメソッドを並べ替えるには?
-
[解決済み] composer.jsonのチルダ(~)は何を意味しているのですか?
-
[解決済み] symfony2 : リクエストをフォームにバインドした後にフォームのバリデーションエラーを取得する方法
-
[解決済み] Symfony 2: テンプレート内でユーザーがログインしていないことを確認するにはどうすればよいですか?
-
[解決済み] Symfony2 と Doctrine - Error: Invalid PathExpression. StateFieldPathExpressionでなければなりません。
-
[解決済み] Symfony 3 の新しいディレクトリ構造は何ですか?
-
[解決済み] Symfony2のTwigテンプレートエンジンにオブジェクトが存在するかどうかを確認するにはどうしたらいいですか?
-
[解決済み] 非推奨。数を意識させないDoctrineORMMappingUnderscoreNamingStrategyは非推奨です。