Nxdom Framework

Nusantara eXtreme Development Object Model — dokumentasi resmi

Mode debug (APP_DEBUG)

Variabel lingkungan APP_DEBUG di .env mengatur seberapa verbose aplikasi saat error, logging, dan metrik — terpisah dari sintaks template NexaDom. Di production sebaiknya false.

.env · Nexa.php index.php NexaController

1. File .env

APP_DEBUG=false # true|false APP_ENV=development # production|development …

Nilai dibaca sebagai string. Di PHP pemeriksaan umum: ($_ENV['APP_DEBUG'] ?? 'false') === 'true' — hanya string true (huruf kecil) yang dianggap aktif.

2. Pemuatan ke $_ENV dan konfigurasi

App\System\Nexa::loadEnvironmentVariables() mem-parse baris key=value dari .env ke $_ENV. Default jika tidak ada: APP_DEBUG jatuh ke true di Nexa.php (hati-hati di lingkungan baru). loadConfiguration() menyimpan config['app']['debug'] dan meng-assign debug_mode ke template global (berguna untuk menampilkan badge/toolbar hanya saat debug).

3. Entry point (index.php)

  • Exception global: jika APP_DEBUG=true, pesan fatal menampilkan teks error, file, baris, dan stack trace; jika false, respons generik “Something went wrong”.
  • Metrik performa: jika APP_DEBUG=true dan APP_ENV bukan production, di akhir respons ditambah komentar HTML <!-- NEXA PERFORMANCE METRICS --> (waktu eksekusi, memori, jumlah file).

4. NexaController

  • Respons JSON error: pada beberapa alur, field trace / file_error / line_error hanya ditambahkan jika defined('APP_DEBUG') && APP_DEBUG — artinya konstanta PHP APP_DEBUG harus pernah didefinisikan (mis. selaras dengan .env) agar cabang itu aktif.
  • setJsController: jika defined('NEXA_DEBUG') && NEXA_DEBUG, data yang dikirim ke NexaJs bisa di-error_log. Konstanta NEXA_DEBUG opsional; definisikan manual (mis. di bootstrap) jika perlu log itu — terpisah dari APP_DEBUG di .env.

5. Komponen lain (ringkas)

  • NexaDebug — mode debug internal mengikuti $_ENV['APP_DEBUG'] (filter boolean).
  • NexaEventDispatcher — logging event saat APP_DEBUG benar.
  • CLI NexaMigrate — output tambahan saat debug.

6. Rekomendasi

Production: APP_DEBUG=false, APP_ENV=production. Pengembangan lokal: APP_DEBUG=true untuk error dan metrik yang lebih jelas. Setelah mengubah .env, restart PHP built-in / worker jika perlu agar variabel terbaca ulang.

Lanjut

setJsController · dump() · Getting Started · Dokumentasi umum · Indeks Helper · Beranda.