İçeriğe atla

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>

Güvenlik →