Laravel5.6におけるeventイベントの使用

3643 ワード

概要
Laravelイベントは、アプリケーション内のイベントを購読および傍受できる簡単なオブザーバーモード実装を提供します.イベントクラスは通常app/Eventsディレクトリに格納され、リスナーはapp/Listenersに格納されます.アプリケーションにこれらのディレクトリが表示されない場合は、Artisanコマンドを使用してイベントとリスナーを生成するときに自動的に作成されます.
簡単に自分の理解を話して
イベントはツールで、使用後にロジックを明確にし、コードの結合を低減し、ゲーム中のリクエストの出荷、メールなどのシーンを使用します.以下は主にlaravelドキュメントに基づいてプロセス全体を説明します.
1イベント/Listenerの登録
まずlapp/Providers/EventServiceProvider.でphpファイルで呼び出しイベントを宣言すると誰が傍受するか、つまりイベントと傍受者の関係を確立します.元のファイルは次のようになります.
 [
            'App\Listeners\EventListener',
        ],
        
        //        
        'App\Events\sendMail' => [			//    
            'App\Listeners\SendMailEventListener',    //   
        ],
    ];

    /**
     * Register any events for your application.
     *
     * @return void
     */
    public function boot()
    {
        parent::boot();

        //
    }
}


2イベント/リスナークラスの生成
実行コマンドeventイベントとリスナーを生成します.イベントの繰り返し実行コマンドがイベントを繰り返し作成する心配はありません.
php artisan event:generate

生成されたイベントはappEventsSendMail.phpディレクトリでは、ListenerはappListenerSendMailEventListener.php
SendMail.php
email = $email;   //        
    }

    /**
     * Get the channels the event should broadcast on.
     *
     * @return \Illuminate\Broadcasting\Channel|array
     */
    public function broadcastOn()
    {
        return new PrivateChannel('channel-name');
    }
}


SendMailEventListener.php
email;

		//                  ,    false  
		return false;
    }
}


3配布イベント
以上、私たちのイベントの論理はすでに処理されています.次に、イベントをトリガーし、event補助関数を使用します.

まとめ
以上は最も簡単なイベントの作成と使用です.完全なイベントチュートリアルを見たいなら、マニュアルを見てみることをお勧めします.イベントの使用は実際には多くの人が開発するのに適しています.論理に多くのイベントが含まれている場合、複数の人が維持するコストが大きいので、イベントとリスナーの論理を見ることでニーズを理解することができます.ControllerやServiceを見に行く必要はありません.