建立一個觀察者
觀察者用於監聽 Laravel 中某個模型的實時回撥。
這些偵聽器可以偵聽以下任何操作:
- 建立
- 建立
- 更新
- 更新
- 儲存
- 儲存
- 刪除
- 刪除
- 恢復
- 恢復
這是一個觀察者的例子。
UserObserver
<?php
namespace App\Observers;
/**
 * Observes the Users model
 */
class UserObserver 
{
    /**
     * Function will be triggerd when a user is updated
     *
     * @param Users $model
     */
     public function updated($model)
     {
         // execute your own code
     }
}
如使用者觀察者所示,我們監聽更新的操作,但是在此類實際監聽使用者模型之前,我們首先需要在 EventServiceProvider 中註冊它。
EventServiceProvider
<?php 
namespace App\Providers;
use Illuminate\Contracts\Events\Dispatcher as DispatcherContract;
use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;
use App\Models\Users;
use App\Observers\UserObserver;
/**
 * Event service provider class
 */
class EventServiceProvider extends ServiceProvider
{
    /**
     * Boot function
     *
     * @param DispatcherContract $events
     */
    public function boot(DispatcherContract $events)
    {
        parent::boot($events);
        // In this case we have a User model that we want to observe
        // We tell Laravel that the observer for the user model is the UserObserver
        Users::observe(new UserObserver());
    }
}
現在我們已經註冊了我們的觀察者,每次儲存使用者模型後都會呼叫更新的函式。