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=PostThe 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\Observersnamespace
- Registers the observer with your model 
No additional configuration or service provider registration is required!
Last updated