创建Laravel Project
php工匠制造:模型事件 - mcr //创建模型,迁移,控制器,使控制器作为资源控制器
php工匠制造:观察者eventoberver -m =事件
运行Abover命令后Laravel将提供某些观察者方法。
<?php
namespace App\Observers;
use App\Models\Event;
class EventObserver
{
/**
* Handle the User "created" event.
*
* @param \App\Models\Event $user
* @return void
*/
public function created(Event $event):void
{
//
}
/**
* Handle the User "updated" event.
*
* @param \App\Models\Event $event
* @return void
*/
public function updated(Event $event):void
{
//
}
/**
* Handle the User "deleted" event.
*
* @param \App\Models\Event $event
* @return void
*/
public function deleted(Event $event):void
{
//
}
/**
* Handle the User "restored" event.
*
* @param \App\Models\Event $event
* @return void
*/
public function restored(Event $event):void
{
//
}
/**
* Handle the User "forceDeleted" event.
*
* @param \App\Models\Event $event
* @return void
*/
public function forceDeleted(Event $event):void
{
//
}
}
完整的方法列表:
- 检索
- 创建
- 创建
- 更新
- 更新
- 保存
- 保存
- deleting
- 删除
- 垃圾
- budceseleting
- 强制骨骼
- 还原
- 还原
- 复制
转到应用程序/提供商/EventerServiceProvider启动IT:
use App\Models\Event;
use App\Observers\EventObserver;
/**
* Register any events for your application.
*
* @return void
*/
public function boot()
{
Event::observe(EventObserver::class);
}
现在只要调用ExtiveOrcreate()方法,假设我们没有通过ID,则不久,在创建操作发生后不久,代码将移至观察者的创建方法,执行块并返回并开始执行其余代码。
要深入研究观察者,请参阅下面的文档:
https://laravel.com/docs/9.x/eloquent#observers
https://laravel.com/docs/9.x/eloquent#events