Laravelイベント監視の詳細な例

WBOY
リリース: 2022-04-12 20:48:42
転載
2312 人が閲覧しました

この記事では、laravel に関する関連知識を提供します。主にイベント モニタリングに関する関連問題を紹介します。イベント モニタリングを実装する手順は、イベントの作成、リスナーの作成、イベントのバインド、およびイベントのリッスンとトリガーです。以下の例を見てください。これが皆さんのお役に立てば幸いです。

Laravelイベント監視の詳細な例

[関連する推奨事項: laravel ビデオチュートリアル]

Laravel イベントとリスナーのイベント リスニング メカニズムを使用すると、開発者はコードをコードをより秩序正しく整理する方法であり、現実社会の動作ルールを高度に抽象化したマッピングでもあります。私たちの現実社会も同様です。私たちは物事の変化を監視し、変化に対応することで、物事はそれに応じて発展します私たちの希望に応えます。予想される展開。現実をコード ロジックにマッピングする場合、通常、イベントとその処理ロジックは分離されますが、結局のところ、すべてのイベントに即座に応答する必要があるわけではありません。キューと組み合わせることで、イベントの監視と処理のワークフローをより完璧にすることができます。

#ユースケース: #ログ ファイル サイズの変更を監視

ユーザー ログイン: ユーザーのログイン時刻を記録し、アクセス関連情報を記録


# #イベント リスニングを実装する手順:

1. イベントの作成: イベント 2. リスナーの作成: リスナー

3. イベントとリスナーのバインド

4. イベントのトリガー


1. 手動イベント作成と監視

##1. ログイン イベントを作成します:event app/Events/UserLogin.php
php artisan make:event UserLogin//获取用户信息实例
 public function __construct(User $user){
    $this->user = $user;}
ログイン後にコピー

2. ユーザー ログインを作成します電子メールがモニターに送信され、同時に UserLogin ログイン イベントがバインドされます:listener

app/Listeners/EmailAdminUserLogin.php

php artisan make:listener EmailAdminUserLogin --event=UserLogin //日志打印登录用户信息public function handle(UserLogin $event)
    {//        dd($event);
        //日志打印登录用户信息
        Log::info($event->user->name . '已经登录');
    }
ログイン後にコピー


3. 登録イベントとリスニング バインディング関係

1 つのイベントは複数のリスナーに対応できますLaravelイベント監視の詳細な例 app/Providers/EventServiceProvider.php

protected $listen = [
    'App\Events\UserLogin' => [
        'App\Listeners\EmailAdminUserLogin',
    ],];
ログイン後にコピー

4. ユーザーのログイン時にイベントをトリガーします
app/Http/Controllers/Auth /LoginController.php

//覆写AuthenticatesUsers类的authenticated方法protected function authenticated(Request $request, $user){
    //触发事件
    event(new UserLogin($user));}
ログイン後にコピー
2. イベントとモニターを迅速に生成します


ここでは、app/Providers/EventServiceProvider.php

php artisan event:generate
ログイン後にコピー
## の属性 listen に基づいて、対応するイベントとモニターを生成します。 #[関連する推奨事項:

Laravel ビデオチュートリアル

]

以上がLaravelイベント監視の詳細な例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:csdn.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート