みんなありがとう 最近 symfony2 を勉強していますが、EventDispatcher コンポーネントが理解できず、公式ドキュメントもあまり明確ではありません。 。解決
ringa_lee
jQuery についてご存知ですか?イベントメカニズムは常に同じです:
(1) まずイベント名を定義します
これは JS の onclick に似ており、vendor.my_event のようなイベント名を定義できます。使いやすくするために、「列挙」クラスを使用してこれらのイベントを記録できます。 リーリー
jQuery を使用する場合、通常はイベント クラスを自分で定義しませんが、実際にはこのイベント クラスも存在します (デフォルトのものが使用されます)。受け入れられる最初のパラメーターはイベント クラスのオブジェクトであり、このオブジェクトです。 e.target のようないくつかのコンテキスト情報が含まれます。
sf の EventDispatcher を使用して、型チェックを実行し、コールバックのコンテキスト (平たく言えば、イベント オブジェクトからどのようなデータを取得できるか) を提供する独自のイベント クラスを定義します。
(3) トリガーイベント
イベント名とイベント クラスがあり、sf にはイベント ディスパッチャーがすでに装備されています。これを直接使用してイベントをトリガーできます。
(4) リスナー(コールバック)を定義する
(5) コールバックに対応するイベントをリッスンさせます
コードを使用してコールバックを追加できます:
構成、つまり依存関係注入 (DIC) を使用することもできます:
jQuery についてご存知ですか?イベントメカニズムは常に同じです:
(1) まずイベント名を定義します
これは JS の onclick に似ており、vendor.my_event のようなイベント名を定義できます。使いやすくするために、「列挙」クラスを使用してこれらのイベントを記録できます。 リーリー
文字列を直接記述する代わりに、コード内で Events::MY_EVENT を使用できます。この「列挙」クラスを構築する必要はありませんが、構築することをお勧めします。jQuery を使用する場合、通常はイベント クラスを自分で定義しませんが、実際にはこのイベント クラスも存在します (デフォルトのものが使用されます)。受け入れられる最初のパラメーターはイベント クラスのオブジェクトであり、このオブジェクトです。 e.target のようないくつかのコンテキスト情報が含まれます。
sf の EventDispatcher を使用して、型チェックを実行し、コールバックのコンテキスト (平たく言えば、イベント オブジェクトからどのようなデータを取得できるか) を提供する独自のイベント クラスを定義します。
リーリー(3) トリガーイベント
イベント名とイベント クラスがあり、sf にはイベント ディスパッチャーがすでに装備されています。これを直接使用してイベントをトリガーできます。
リーリー(4) リスナー(コールバック)を定義する
リーリー(5) コールバックに対応するイベントをリッスンさせます
コードを使用してコールバックを追加できます:
リーリー構成、つまり依存関係注入 (DIC) を使用することもできます:
リーリー