ホームページ >PHPフレームワーク >Laravel >Laravelイベント監視の詳細な例

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

WBOY
WBOY転載
2022-04-12 11:48:322331ブラウズ

この記事では、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 までご連絡ください。