ユーザーが登録したときにsparkにリッスンできるイベントがあることは知っていますが、laravelとイベントはまったく初めてです。イベントにアクセスするために利用できる例はありますか? 私の目標は、ユーザーが作成したイベントをリッスンし、ウェルカム メールをユーザーに送信することです。
1 に答える
最後に、ここで解決策を思いつきました。
基本的に、イベントは、アプリケーションの 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 を呼び出し、メソッド ハンドルはリスナーへの呼び出しで実行されます。