Laravel 8 使用闭包
你可以注册在触发各种模型事件时执行的闭包,而不使用自定义事件类。 通常,你应该在模型的 booted
方法中注册这些闭包:
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
/**
* 模型的 "booted" 方法
*
* @return void
*/
protected static function booted()
{
static::created(function ($user) {
//
});
}
}
如果需要,可以在注册模型事件时利用队列匿名事件侦听器 。 这将指示 Laravel 使用 queue 执行模型事件侦听器:
use function Illuminate\Events\queueable;
static::created(queueable(function ($user) {
//
}));