Nanank Haris S
Individu yang pendiam dan introspektif yang menemukan penghiburan di kedalaman sintaxdan mencoba menemukan kedamaian di tengah kekacauan. Meskipun bergulat dengan ADHD, cintanya kepada keluarganya tetap tak tergoyahkan, yang menopangnya di tengah badai kehidupan. Dalam pelukan pikirannya yang tenang, ia merajut algoritma yang rumit, mengubah perjuangannya menjadi kemenangan dan kesendiriannya menjadi tempat perlindungan.

Twig PHP Template Engine

Twig PHP Template Engine merupakan template engine untuk PHP developer. Bagi saya Twig ini tergolong ilmu baru karena selama ini saya cuma menggunakan templating secara konvensional saja. Adalah Framework Symfony yang telah menggunakannya terlebih dahulu. Bahkan situs sekelas Shopify pun juga menggunakanya diwebcommerce yang dibangunnya. Disamping cepat, Twig juga mudah untuk digunakan serta memiliki dokumentasi yang cukup lengkap.

Beberapa alasan mengapa Twig bisa digunakan untuk templating diaplikasi web :

  1. Fast
    Twig mengcompile template ke dalam kode-kode php yang teroptimisasi sehingga kondisi overload pada aplikasi website akan direduksi secara minimum.
  2. Secure
    Twig memiliki mode sandbox untuk mengevaluasi kode template. Penggunanya pun bisa dengan leluasa mengubah desain templatenya.
  3. Flexible
    Didukung oleh lexer dan parser yang flexibel yang memungkinkan pengguna untuk mendefiniskan tag maupun variabel sendiri (custom variable)

Twig menggunakan karakter {{ … }} untuk mencetak output ke dalam aplikasi, dan {% … %} untuk digunakan dalam mode operasi (looping, pendeklarasian variabel baru dsb). Contoh penggunaan Twig template didesain template :

Di aplikasi PHP

<?php 
# PHP
echo $var;
echo htmlspecialchars($var, ENT_QUOTES, 'UTF-8'); 
?>

Di desain template

{{ var }}
{{ var|escape }}
{{ var|e }}         {# shortcut to escape a variable #}

Untuk proses looping data bisa menggunakan :

<?php
$data = array(
array('nim' => '1234','nama' => 'Andi'),
array('nim' => '5678','nama' => 'Eko' )
);
?>

Looping di Twig

{% for mahasiswa in data %}
Nama : {{ mahasiswa.nim }} <br>
NIM : {{ mahasiswa.nama }}<br>
<hr>
{% endfor %}

Semoga bermanfaat

Share

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *