我知道 spark 有可以在用户注册时收听的事件,但我对 laravel 和事件完全陌生,有没有可以用来访问事件的示例?我的目标是听取用户创建的事件并向用户发送欢迎电子邮件。
2114 次
1 回答
15
最后,在这里我想出了解决方案。
基本上,事件调用在 EventServiceProvider 类中定义的侦听器,该类存储在应用程序的 app 文件夹内的提供程序中。
在 EventServiceProvider.php 中找到
'Laravel\Spark\Events\Auth\UserRegistered' => [
'Laravel\Spark\Listeners\Subscription\CreateTrialEndingNotification',
],
它将存储在 EventServiceProvider 类的 $listen 中,这意味着 UserRegistered 事件将调用 CreateTrialEndingNotification 侦听器,因此我们需要创建一个侦听器并在此处附加,创建侦听器很容易,只需创建一个名为 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 事件将调用两个侦听器,即 CreateTrialEndingNotification 、 HookRegisteredUser 和方法句柄将在调用侦听器时执行,仅此而已!
于 2016-05-04T09:28:05.673 回答