Template Engine Sederhana dengan PHP

Hai, sudah lama banget nih baru sempet update lagi, kali ini admin ada triks untuk menggunakan Template Engine yang simple dan tentusaja ini akan sangat berguna.

Template Engine ini admin pakai untuk beberapa proyek-proyek aplikasi web, class php yang mudah dimengerti dan di implementasikan.

Kuy di download dulu library nya pada Link berikut

https://github.com/irfantoor/template-engine

Setelah di download, ektraks misal dengan folder template.

Berikut cara penggunaannya:

Install Library template engine

install dengan composer pada folder template

$ composer require irfantoor/template-engine

atau cukup run “composer install”

compose install
Install composer untuk library

Buat template Engine

Jangan lupa buat 2 file, disini admin buat file index.php & template.tpl

Untuk processing filenya bisa menggunakan file extension lain misal (.html, .php, .tpl, .txt)

Isi dengan text berikut pada index.php

<?php
require dirname(__DIR__) . '/template-engine-master/template/vendor/autoload.php';

$te = new IrfanTOOR\TemplateEngine([
    'max_depth' => 3, # defaults to 3
    'base_path'  => dirname(__DIR__) . '/template-engine-master/',
]);

$data = [
    'title' => 'Fruits',
    'list' => [
        'Apple',
        'Orange',
        'Blackberry',
        'Raspberry',
    ],
];

echo $te->processFile("template.tpl", $data);
?>

Kemudian isi pada processing filenya sebagai berikut

<h1>{$title}</h1>

<ul>
{@foreach ($list as $item):}
<li>{$item}</li>
{@endforeach}
</ul>

Jika sudah disave, coba buka index.php pada blowser. Harusnya tampil seperti berikut

tampilan browser
Tampilan pada browser

Dibawah ini beberapa contoh yang bisa dipergunakan untuk processing file templatenya

Comments

format: {#...}
{# its a comment!}
{#anything here including the external brackets are removed from the output}

Tokens

format: {$...}

Token diganti dengan nilai yang diberikan oleh larik data yang diteruskan.

{$name['first']} {$name['last']}
{$address[0]}
{$address[1]}
tel: {$tel}
email: {$email}

Token dengan tag diganti dengan nilai, tanpa melakukan konversi karakter khusus html. Ini membantu dalam memasukkan tag html dll yang ditampilkan sebagai html dan bukan sebagai konten.

format: {!$...}

Commands

format: {@...}

{@include 'header.php'}

{@echo date('d-m-Y')}

{@if ($list):}
    # Note: you can use the curley brackets, so use the form foreach (...): endforeach instead
    {@foreach ($list as $k => $v):}
    data provided is : {$k} | {$v}
    {@endforeach}
{@endif}

# Anda dapat menentukan data dalam template

{@ $d = date('d-m-Y')}
# and prints ...
date : {$d}

# Catatan: Pernyataan dalam tag {@ …} tidak perlu diakhiri dengan titik koma ‘;’

{@ $list = [
    'black',
    'white'
]}

dump list:

Catatan: Variabel yang akan dump, mungkin juga berupa objek, array, bool int atau string

{$list}

Sangat mudah bukan, silakan berkreasi dan Happy Codding. CMIW

Berikut Template Engine yang bisa dijadikan referensi lainnya.

  1. Twig
  2. Smarty
  3. Dwoo
  4. Volt
  5. Blade
  6. Plates
  7. Mustache
  8. Foil
  9. SavantPHP
  10. TBS – TinyButStrong template engine
  11. Divengine
  12. Handlebars
  13. Rain TPL

Author Profile

Ricki K
Hi my name is Ricki, I am a blogger from Indonesia. Founder of erkamoo.com, Besides creating Web Applications, I also write about Blogging Tips and Tutorials on Programming, Databases, HTML.