ホームページ  >  記事  >  PHPフレームワーク  >  Yii でイベントをバインドする方法

Yii でイベントをバインドする方法

(*-*)浩
(*-*)浩オリジナル
2019-11-06 09:32:193117ブラウズ

イベント機構はスキャン型とバインディング型の2種類に分かれており、バインディング型は主にYiiで使われており、バインディング型にはtrigger()とon()の2つのメソッドが関係します

Yii でイベントをバインドする方法

1.trigger() : イベントは yii\base\Component::trigger() メソッドを呼び出すことによってトリガーされますが、このメソッドにはイベント名を渡す必要があります。 、イベント オブジェクトを渡してイベント ハンドラーにパラメーターを渡すこともできます。 (推奨される学習: yii チュートリアル )

2.on(): クラスのすべてのインスタンスが、指定されたインスタンスではなく、トリガーされたイベントに応答するようにしたい場合があります。イベントの場合、イベント ハンドラーを各インスタンスに 1 つずつアタッチするのではなく、静的メソッド yii\base\Event::on() を呼び出すことによってハンドラーがクラス レベルでアタッチされます。

具体的な例を見てみましょう: (猫とねずみを作成します。猫が鳴くと、ねずみが逃げ始めます)

Yii でイベントをバインドする方法

Yii でイベントをバインドする方法

#上記は cat.php クラスのコードです。スクリーンショットが不完全なので、さらに 2 つ追加します。mouse.php

## を見てみましょう。

Yii でイベントをバインドする方法

#これら 2 つのクラスをどのように関連付ければよいでしょうか? もちろん、これら 2 つのクラスを呼び出すにはコントローラーに依存する必要があります (cat クラスがすでにコンポーネント クラス ファイルを呼び出しているため、コンポーネント クラス ファイルは存在しません) run here を使用する場合は再度呼び出す必要があります)

Extension:Yii でイベントをバインドする方法

##

以上がYii でイベントをバインドする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。