symfony - EventDispatcher コンポーネント
ringa_lee
ringa_lee 2017-05-16 16:44:48
0
1
283

みんなありがとう 最近 symfony2 を勉強していますが、EventDispatcher コンポーネントが理解できず、公式ドキュメントもあまり明確ではありません。 。解決

ringa_lee
ringa_lee

ringa_lee

全員に返信(1)
黄舟

jQuery についてご存知ですか?イベントメカニズムは常に同じです:

(1) まずイベント名を定義します

これは JS の onclick に似ており、vendor.my_event のようなイベント名を定義できます。使いやすくするために、「列挙」クラスを使用してこれらのイベントを記録できます。 リーリー

文字列を直接記述する代わりに、コード内で Events::MY_EVENT を使用できます。この「列挙」クラスを構築する必要はありませんが、構築することをお勧めします。

間違った場合は、デバッグを容易にするためにエラーが直接報告されます
  1. メンテナンスを容易にするために一元化します(そうしないと、どのようなイベントがあるかを忘れてしまいます)
  2. (2) イベントクラスを定義する(コンテキスト定義)

jQuery を使用する場合、通常はイベント クラスを自分で定義しませんが、実際にはこのイベント クラスも存在します (デフォルトのものが使用されます)。受け入れられる最初のパラメーターはイベント クラスのオブジェクトであり、このオブジェクトです。 e.target のようないくつかのコンテキスト情報が含まれます。

sf の EventDispatcher を使用して、型チェックを実行し、コールバックのコンテキスト (平たく言えば、イベント オブジェクトからどのようなデータを取得できるか) を提供する独自のイベント クラスを定義します。

リーリー

(3) トリガーイベント

イベント名とイベント クラスがあり、sf にはイベント ディスパッチャーがすでに装備されています。これを直接使用してイベントをトリガーできます。

リーリー

(4) リスナー(コールバック)を定義する

リーリー

(5) コールバックに対応するイベントをリッスンさせます

コードを使用してコールバックを追加できます:

リーリー

構成、つまり依存関係注入 (DIC) を使用することもできます:

リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!