Views & Templates
Views memisahkan logika aplikasi (Controller) dari logika presentasi (HTML). Di LamdaPHP, views disimpan di direktori resources/views dan menggunakan ekstensi file khusus .lamda.php agar dapat diproses oleh Template Engine.
Creating & Rendering Views
Untuk membuat tampilan baru, buat file misalnya welcome.lamda.php di dalam folder views. Kemudian, Anda dapat mengembalikannya dari Controller menggunakan metode view().
public function index() { // Memanggil resources/views/welcome.lamda.php return $this->view('welcome', [ 'title' => 'Halaman Utama', 'users' => ['Rizky', 'Saria'] ]); }
Template Syntax
LamdaPHP dilengkapi dengan engine templating ringan yang memudahkan penulisan kode PHP di dalam HTML. File template akan dikompilasi ke PHP murni dan di-cache untuk performa maksimal.
1. Menampilkan Data
{{ $variable }}
Mencetak data dengan keamanan htmlspecialchars. Gunakan ini secara default untuk mencegah XSS.
{!! $variable !!}
Mencetak data secara mentah (raw/unescaped). Hati-hati saat menggunakan ini dengan input pengguna.
2. Struktur Kontrol
Anda bisa menggunakan direktif @ untuk menggantikan sintaks PHP yang panjang.
<!-- Kondisional -->
@if($users)
<!-- Perulangan -->
@foreach($users as $user)
<div>Halo, {{ $user }}</div>
@endforeach
@else
<p>Tidak ada user.</p>
@endif
Fitur Spesial: @realtime
LamdaPHP memiliki direktif unik @realtime. Menambahkan kode ini di bagian bawah <body> akan secara otomatis menyuntikkan skrip JavaScript untuk mengaktifkan fitur Server-Sent Events (SSE).
Penting: Data Binding
Untuk menggunakan fitur ini, Anda wajib menyertakan atribut data-bind pada setiap tag HTML yang ingin dirender secara dinamis atau realtime.
<!-- Contoh: Menampilkan jumlah notifikasi secara realtime -->
<span data-bind="notif_count">0</span>
<!-- Direktif @realtime harus diletakkan di akhir body -->
@realtime
*Nilai data-bind ("notif_count") harus sesuai dengan key data yang dikirim oleh server melalui EventDispatcher.