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; jikafalse, respons generik “Something went wrong”. - Metrik performa: jika
APP_DEBUG=truedanAPP_ENVbukanproduction, 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_errorhanya ditambahkan jikadefined('APP_DEBUG') && APP_DEBUG— artinya konstanta PHPAPP_DEBUGharus pernah didefinisikan (mis. selaras dengan.env) agar cabang itu aktif. setJsController: jikadefined('NEXA_DEBUG') && NEXA_DEBUG, data yang dikirim ke NexaJs bisa di-error_log. KonstantaNEXA_DEBUGopsional; definisikan manual (mis. di bootstrap) jika perlu log itu — terpisah dariAPP_DEBUGdi.env.
5. Komponen lain (ringkas)
NexaDebug— mode debug internal mengikuti$_ENV['APP_DEBUG'](filter boolean).NexaEventDispatcher— logging event saatAPP_DEBUGbenar.- 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.