Nxdom Framework

Nusantara eXtreme Development Object Model — dokumentasi resmi

Switch — case & default

Pilih cabang konten berdasarkan satu variabel template: {switch nama_var} … {case nilai} … {default} … {endswitch}. Diimplementasikan di process_switch_statements_stable() dan process_switch_content_stable().

NexaDom.php · process_switch_statements_stable

Sintaks

{switch status_order} {case 'pending'} <p>Menunggu</p> {case 'done'} <p>Selesai</p> {default} <p>Lainnya</p> {endswitch}
  • {switch} memakai satu nama variabel (boleh notasi titik, mis. user.tier) — nilai diambil lewat get_variable_value().
  • Tiap {case …} berisi literal yang bisa dikutip tunggal atau ganda; kutip dibuang saat perbandingan.
  • {default} opsional: dipakai jika tidak ada case yang cocok.
  • Penutup wajib: {endswitch}.

Perilaku pencocokan

Aspek Perilaku
Perbandingan (string) $switch_value === (string) $case_value — samakan sebagai string.
Urutan case dicek dari atas ke bawah; cabang pertama yang cocok yang dipakai (seperti switch di PHP).
Tanpa kecocokan Jika ada {default}, isi antara default dan endswitch yang dikembalikan; jika tidak, hasil kosong.

Urutan di pipeline render

Bersama if stable, switch dijalankan dalam process_global_conditionals_stable_skip_blocks() — setelah placeholder blok NEXA dipasang, urutannya: process_if_statements_stable() lalu process_switch_statements_stable(). Setiap kemunculan blok {switch …}…{endswitch} diganti hasilnya (bisa lebih dari satu switch per halaman).

{switch tab_index} {case 1}{case 2}{endswitch}

Nilai variabel numerik akan disamakan sebagai string dengan teks di case (setelah trim kutip).

Hubungan dengan If: untuk logika bercabang kompleks (banyak kondisi boolean), gunakan if / elseif / else. Switch cocok untuk satu diskriminan diskret (status, kode, mode tampilan).

Lanjut

Sebelumnya: If / elseif / else. Indeks Helper · Dokumentasi · Beranda.