Memoプログラミングについてのメモ。ArtisansLaravelの公式ドキュメントのイベントの項目を参考に、動かしてみました。Listeners)リスナーをキューに登録させるキューへのアクセス概要Laravelのイベントシステムを使うと、様々なイベントを簡単に処理できます。アプリで発生するイベントに対する処理をリスナーとして登録しておくと、イベントを発生させることで、システムが登録されたリスナーを呼び出してくれます。ディレクトリー内に置きます。これらのディレクトリーは最初は存在しません。コマンドでイベントやリスナーを生成した時に自動的に作成されます。イベントにより、複数の処理を切り離して実装することができます。一つのイベントは複数のリスナーを持つことができ、それらはお互いに依存しません。注文されたものを発送するたびに、ユーザーにSlackの通知を送信する場合を考えます。注文処理にSlackの通知のコードを組み込むこともできますが、OrderShippedイベントを発生させて、それを受け取ったリスナーがSlackの通知処理を行った方がシンプルです。プロジェクトを準備ログやエラー表示を実際に動かして、色々と試してみます。以下の手順で、プロジェクトを作成します。serve以上で準備完了です。アクセスすると、インストールしたLaravelプロジェクトが表示されれば成功です。プロパティーに、アプリのすべてのイベントとリスナーを登録します。キーにはイベント、値にリスナーを配列で指定します。app/EventsフォルダーもApp/Listenersフォルダーも初期状態では存在しないので動作はしません。];イベントとリスナーを登録するここに、自前のイベントやリスナーを登録することができます。イベントを作成してみましょう。登録したイベントとリスナーのファイルを自動的に生成してくれます。ターミナルで、以下を実行してください。ファイルが作成済みの場合は何もしません。イベントの定義イベントクラスは、イベントに関する情報を保持するシンプルなデータコンテナです。オブジェクトを持たせる例を以下に示します(公式ドキュメントのものは古いようで、useや継承などがうまく動作しませんでした)。}}イベントクラスには処理はなく、データを保持しているだけです。モデルを保持することができます。モデルの生成を行います。メソッドでイベントのインスタンスを受け取ります。メソッドにコメントと引数が定義されます。メソッド内で、イベントに対応するために必要な様々な処理を行います。ここでは、イベントを受け取った時にユーザー名をログに出力するようにします。より、自動的に解決されます処理中のリスナーを終えたら、それ以降のイベント処理を停止したい場合があります(エラーが発生したなど)。テーブルが必要なので生成します。始まるデータベースの設定を、各々の環境通りに設定するデータベースに接続して、必要なデータベースを作成。設定のミスなので、設定を見直してください。ヘルパー関数にイベントのインスタンスを渡します。関数はグローバルに定義されているのでどこでも使えます。イベントを発動させると、登録されたリスナーが次々に呼び出されます。ルートを呼び出したところで、イベントを発動させてみましょう。Webブラウザーで開いてください。Laravelと表示されれば成功です。メソッドが書き出した以下のようなログが追加されています。IV日付や名前は、実行するたびに異なります。以上で、最低限のイベントやリスナーの登録と発動までできました。これ以降は、イベントをより便利に使うための情報です。クラスを使うと、一つのクラスに複数のイベントを定義して、クラス内にイベントハンドラー(リスナー)を持たせることができます。インスタンスが渡されます。インスタンスを使って、イベントのリスナーメソッドを呼び出すことができます。同じなので、複製して、クラス名だけ変更して利用します。