Basic Usage
Laravel Dynamic Observer provides a simple and intuitive way to implement model observers in your Laravel application. github-laravel-dynamic-observer
Adding the Trait
The first step is to add the HasObserver
trait to your model:
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Waad\Observer\HasObserver;
class Post extends Model
{
use HasObserver;
}
Creating an Observer
Create a new observer using Laravel's artisan command:
php artisan make:observer PostObserver --model=Post
The observer will be created in app/Observers/PostObserver.php
:
<?php
namespace App\Observers;
use App\Models\Post;
class PostObserver
{
public function created(Post $post)
{
// Handle the Post "created" event
}
public function updated(Post $post)
{
// Handle the Post "updated" event
}
// Add more observer methods as needed
}
How It Works
The HasObserver
trait automatically:
Detects the model name
Looks for a corresponding observer in the
App\Observers
namespaceRegisters the observer with your model
No additional configuration or service provider registration is required!
Last updated