Görünümler ve Şablonlar
DizgePHP view sistemi PHP tabanlıdır. Şablonlar views/ dizininde yer alır, veriler extract() ile aktarılır.
View render etmek
return view('tasks/index.php', ['rows' => $rows, 'title' => 'Görevler']);
Güvenli çıktı: e()
Her kullanıcı kaynaklı değer HTML'e yazılmadan önce e() ile kaçırılmalıdır:
<h1><?= e($title) ?></h1>
<p><?= e($user['name']) ?></p>
e() UTF-8, ENT_QUOTES ve ENT_SUBSTITUTE ile htmlspecialchars() uygular.
DevinimJS bileşenleri: dv()
Sunucu tarafında render edilen custom element'ler:
<?= dv('data-table', columns: ['ID', 'Başlık', 'Durum'], rows: $rows, label: 'Görevler') ?>
<?= dv('counter', start: 10, step: 5) ?>
<?= dv('field', id: 'title', name: 'title', label: 'Başlık', control: 'input') ?>
Önemli: dv() prop değerlerini otomatik kaçırır. dv() içinde e() kullanmayın — çift kaçırmaya yol açar.
Bileşen script'leri
<?= dv_scripts() ?>
<?= dv_bridge_scripts() ?>
dv_scripts()— sayfada kullanılan her bileşen için bir<script type="module">etiketi üretir (tekilleştirilmiş)dv_bridge_scripts()— sunucu-client durum düzeltme köprüsünü kurar
CSRF koruması
State-changing formlarda csrf_field() kullanın:
<form method="post" action="/contact">
<?= csrf_field() ?>
<!-- form alanları -->
<button type="submit">Gönder</button>
</form>