📡 You're offline — showing cached content
New version available!
Quick Access
Tutorials Laravel Framework Observers

Observers

5 min read
React to model lifecycle events with Observer classes — creating, created, updating, deleted.

Model Observers

php artisan make:observer PostObserver --model=Post

class PostObserver {
    public function creating(Post $post): void {
        $post->slug = Str::slug($post->title);
        $post->user_id = auth()->id();
    }

    public function created(Post $post): void {
        Cache::forget("posts.all");
        event(new PostCreated($post));
    }

    public function updating(Post $post): void {
        if ($post->isDirty("title")) {
            $post->slug = Str::slug($post->title);
        }
    }

    public function deleted(Post $post): void {
        Storage::delete($post->image);
    }
}

// Register — in AppServiceProvider::boot()
Post::observe(PostObserver::class);