laravel使用event事件

在`laravel`中使用`event事件`

首先什么是事件,事件是一种常见的观察者模式的应用。

简单的来说,就是当什么什么的时候就干什么。

当 (event),干 (listener)放置 event 和 listener 文件的位置分别是:

`app/Events`

`app/Listeners`

对于产品经理来说,事件主要用来规范你的业务逻辑,使支线逻辑与主线逻辑独立分拆。对于程序员来说,事件可以让 Controller 变得非常简洁,解耦,可维护。

如何使用?

首先 ` php artisan make:event UserSignup`

然后在`App\Providers\EventServiceProvider.php`中编辑

>protected $listen = [
Registered::class => [
SendEmailVerificationNotification::class,
],
\\App\\Events\\UserSignUp::class => [
\App\\Listeners\\UserSignupListener::class
],
];

接着执行`php artisan event:generate`

这时会在App\Events和App\Listeners中生成两个文件

分别为`UserSignup.php`

>user = $user;
}
public function broadcastOn()
{
return new PrivateChannel('channel-name');
}
}

和`UserSignupListener.php`

>user->email.' sign up');
}
}

接着在`route`中调用即可

>Route::get('/signup/{id}', function($id){
$user = \\App\\User::find($id);
event(new \\App\\Events\\UserSignUp($user));
});

    A+
发布日期:2020年11月12日  所属分类:未分类

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: