Laravel - Event(事件)
设置监听事件
在 app/Providers/EventServiceProvider 中设置需要监听的事件
php
class EventServiceProvider extends ServiceProvider {
protected $listen = [
'admin.login_ip_banned' => [
'App\Handlers\Events\Admin\LoginIpBannedLog',
],
'admin.login_ok' => [
'App\Handlers\Events\Admin\LoginOkLog',
],
];
// ...
}设置处理函数
LoginIpBannedLog
php
class LoginIpBannedLog {
// 处理事件的函数
public function handle($ip, $user) {
PamLog::create([
'account_id' => $user->account_id,
'account_name' => $user->account_name,
'account_type' => $user->account_type,
'log_type' => 'error',
'log_ip' => $ip,
'log_content' => 'ip 禁止登陆',
]);
}
}设置触发条件
在需要触发的时候触发条件, 并用数组传入需要传递的值
php
\Event::fire('admin.login_ip_banned', [$this->ip, \Auth::user()]);