Lewati ke konten utama

AppServiceProvider Essentials Configuration

Project ini menggunakan beberapa konfigurasi dari NunoMaduro Essentials untuk meningkatkan performa, keamanan, dan kualitas kode.


πŸš€ Asset Prefetching​

Vite::useAggressivePrefetching();
  • Mempercepat akses asset di browser.
  • Cocok untuk production dan local.

βœ… Force HTTPS​

URL::forceHttps();
  • Memastikan semua URL menggunakan https://.
  • Disarankan aktifkan hanya di production.

βœ… Immutable Dates​

Date::use(CarbonImmutable::class);
  • Menggunakan CarbonImmutable untuk mencegah perubahan tanggal tidak sengaja.

βœ… Protect Destructive Commands​

DB::prohibitDestructiveCommands(app()->isProduction());
  • Mencegah operasi destruktif di database production (drop, truncate, dsb).

⚠ Optional / Commented Features​

  • Strict Models: Model::shouldBeStrict() β†’ mencegah lazy loading tidak sengaja, atribut tidak ada.
  • Unguard Mass Assignment: Model::unguard() β†’ mempermudah seeding / mocking di local.
  • Automatic Eager Loading: Model::automaticallyEagerLoadRelationships() β†’ otomatis load relasi, bisa diaktifkan jika perlu. Laravel v12.8
  • Password Defaults: Password::defaults(...) β†’ atur minimum length password di production.

Developer dapat menyalakan fitur ini dengan menghapus komentar pada baris terkait di AppServiceProvider::boot().


πŸ’‘ Tips​

  • Gunakan environment check (app()->isLocal(), app()->isProduction()) untuk memisahkan konfigurasi dev/production.
  • Semua fitur Essentials kompatibel dengan Laravel 10 dan Filament.