// 1. Create an Observer: php artisan make:observer UserObserver --model=User // app/Observers/UserObserver.php namespace App\Observers; use App\Models\User; class UserObserver { public function creating(User $user) { // Logic before a User is created $user->uuid = (string) \Illuminate\Support\Str::uuid(); } public function created(User $user) { // Logic after a User is created \Log::info('User ' . $user->id . ' was created.'); } public function updating(User $user) { // Logic before a User is updated // For example, preventing updates to certain fields } public function deleted(User $user) { // Logic after a User is deleted \Log::warning('User ' . $user->id . ' was deleted.'); // Clean up related resources, e.g., delete profile image } } // 2. Register the Observer (e.g., in AppServiceProvider.php boot method) // use App\Models\User; // use App\Observers\UserObserver; // User::observe(UserObserver::class);