Поиск…
Создание наблюдателя
Наблюдатели используются для прослушивания обратных вызовов жизненного цикла определенной модели в 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());
}
}
Теперь, когда мы зарегистрировали нашего наблюдателя, обновленная функция будет вызываться каждый раз после сохранения модели пользователя.
Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow