thinkphp のイベント バインディング、モニタリング、サブスクリプションを完全にマスターする

WBOY
リリース: 2022-04-13 21:04:32
転載
3575 人が閲覧しました

この記事では、thinkphpに関する関連知識を提供します。主にイベント バインディング、監視、およびサブスクリプションに関連する問題を紹介します。ミドルウェアと比較したイベントの利点は、イベントがミドルウェアよりも優れていることです。 、以下で見てみましょう。皆さんの参考になれば幸いです。

thinkphp のイベント バインディング、モニタリング、サブスクリプションを完全にマスターする

## 推奨学習: 「

PHP ビデオ チュートリアル

イベントとは

ミドルウェアと比較したイベントの利点は、イベントがミドルウェアよりも正確に配置され (またはより詳細に)、一部のビジネス シナリオの拡張に適していることです。たとえば、通常、ユーザーは登録やログイン後に一連の操作を実行する必要があります。イベント システムを使用することで、元のコードを侵害することなくログイン操作の拡張を完了でき、ビジネス ニーズを満たしながらシステムの結合を削減できます。 。

TP6のイベントの使い方

公式サイトに説明があり、例はありませんが、ここでは簡単に使い方を説明し、実際に使ってみると操作がわかります

1. イベント listen

    listening を生成するコマンド ライン
  • php think make:listener UserLogin
これは、通常は、対応するイベントの監視を定義するイベント定義ファイル (

event.php) を直接作成することをお勧めします。

return [ 'bind' => [ 'UserLogin' => 'app\event\UserLogin', // 更多事件绑定 ], 'listen' => [ 'UserLogin' => ['app\listener\UserLogin'], // 更多事件监听 ], ];
ログイン後にコピー

2. イベント サブスクリプション

    コマンド ライン
  • php think make:subscribe Userは app\subscribe\ を生成します。デフォルトのユーザー クラスを使用することも、生成する完全なクラス名を指定することもできます。

        
ログイン後にコピー
3. カスタム サブスクリプション

サブスクリプション メソッド (またはメソッド仕様) をカスタマイズする場合は、サブスクライブ メソッドの実装を定義できます。

listen('UserLogin', [$this,'onUserLogin']); $event->listen('UserLogout',[$this,'onUserLogout']); } }
ログイン後にコピー
次に、イベント定義ファイルにイベント サブスクライバを登録します

return [ 'bind' => [ 'UserLogin' => 'app\event\UserLogin', // 更多事件绑定 ], 'listen' => [ 'UserLogin' => ['app\listener\UserLogin'], // 更多事件监听 ], 'subscribe' => [ 'app\subscribe\User', // 更多事件订阅 ], ];
ログイン後にコピー

イベント トリガー
// 触发UserLogin事件 用于执行用户登录后的一系列操作 Event::trigger('UserLogin'); 或者使用助手函数 event('UserLogin');
ログイン後にコピー

推奨学習:「

PHP ビデオ チュートリアル##」 #》

以上がthinkphp のイベント バインディング、モニタリング、サブスクリプションを完全にマスターするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:csdn.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!