Dynamic Observer
  • Introduction
  • Getting Started
    • Installation
    • Requirements
  • Usage
    • Basic Usage
    • Custom Observers
    • Multiple Observers
  • Guides
    • Available Methods
Powered by GitBook
On this page
  • Adding the Trait
  • Creating an Observer
  • How It Works
  1. Usage

Basic Usage

PreviousRequirementsNextCustom Observers

Last updated 4 months ago

Laravel Dynamic Observer provides a simple and intuitive way to implement model observers in your Laravel application.

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:

  1. Detects the model name

  2. Looks for a corresponding observer in the App\Observers namespace

  3. Registers the observer with your model

No additional configuration or service provider registration is required!

github-laravel-dynamic-observer