6

ユーザーが登録したときにsparkにリッスンできるイベントがあることは知っていますが、laravelとイベントはまったく初めてです。イベントにアクセスするために利用できる例はありますか? 私の目標は、ユーザーが作成したイベントをリッスンし、ウェルカム メールをユーザーに送信することです。

4

1 に答える 1

15

最後に、ここで解決策を思いつきました。

基本的に、イベントは、アプリケーションの app フォルダー内のプロバイダーに格納されている EventServiceProvider クラスで定義されているリスナーを呼び出します。

EventServiceProvider.php で見つけます

'Laravel\Spark\Events\Auth\UserRegistered' => [
              'Laravel\Spark\Listeners\Subscription\CreateTrialEndingNotification',
        ],

これは、EventServiceProvider クラスの $listen に保存されます。これは、UserRegistered イベントが CreateTrialEndingNotification リスナーを呼び出すことを意味します。そのため、listerner を作成してここにアタッチする必要があります。リスナーの作成は、名前が HookRegisteredUser(またはあなたの選択) app/Listeners の以下のようなものは、そのパスを "Laravel\Spark\Events\Auth\UserRegistered" の $listen に追加します

namespace App\Listeners;

use Laravel\Spark\Events\Auth\UserRegistered;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;

class HookRegisteredUser
{
    /**
     * Handle the event.
     *
     * @param  UserRegistered  $event
     * @return void
     */
    public function handle(UserRegistered $event)
    {
      //your code goes here
    }
}

この後、次のように EventServiceProvider.php に HookRegisteredUser リスナーを追加します。

'Laravel\Spark\Events\Auth\UserRegistered' => [
            'Laravel\Spark\Listeners\Subscription\CreateTrialEndingNotification',
            'App\Listeners\HookRegisteredUser',
        ],

UserRegistered イベントは 2 つのリスナー、つまり CreateTrialEndingNotification 、 HookRegisteredUser を呼び出し、メソッド ハンドルはリスナーへの呼び出しで実行されます。

于 2016-05-04T09:28:05.673 に答える