configureDefaults(); $this->configureAuthorization(); $this->configureObservers(); } protected function configureObservers(): void { Order::observe(OrderObserver::class); } protected function configureAuthorization(): void { Gate::before(function ($user, string $ability) { if ($user->hasRole(Role::DEVELOPER->value) || $user->hasRole(Role::OWNER->value)) { return true; } return null; }); } /** * Configure default behaviors for production-ready applications. */ protected function configureDefaults(): void { Date::use(CarbonImmutable::class); DB::prohibitDestructiveCommands( app()->isProduction(), ); Password::defaults(fn (): ?Password => app()->isProduction() ? Password::min(12) ->mixedCase() ->letters() ->numbers() ->symbols() ->uncompromised() : null, ); } }