我知道spark有用户注册时可以收听的事件,但我对laravel和Events完全不熟悉,是否有可以用来访问事件的例子?我的目标是收听用户创建的活动并向用户发送欢迎电子邮件。
答案 0 :(得分:11)
最后,我想出了解决方案。
基本上,Events调用EventServiceProvider类中定义的侦听器,该类存储在应用程序的app文件夹内的提供程序中。
在EventServiceProvider.php中找到
'Laravel\Spark\Events\Auth\UserRegistered' => [
'Laravel\Spark\Listeners\Subscription\CreateTrialEndingNotification',
],
它将存储在EventServiceProvider类的$ listen中,这意味着UserRegistered事件将调用CreateTrialEndingNotification侦听器,因此我们需要创建一个listerner并附加到此处,创建一个监听器很容易只需创建一个新的 名为HookRegisteredUser(或您的选择)的文件,如app / Listeners下面的一些东西,将其路径添加到$ lave of“Laravel \ Spark \ Events \ Auth \ UserRegistered”
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事件将调用两个侦听器,即CreateTrialEndingNotification,HookRegisteredUser,方法句柄将在调用侦听器时执行,就好了!