Salah satu framework yang gw pake dalam
skripsi yang lagi gw kerjain adalah dengan menggunakan program framework yang
namanya SMARTY. Apa itu Smarty???? Coba kita simak penjelasan berikut....
Smarty adalah mesin template untuk PHP.
Lebih khusus, ia memfasilitasi cara yang bisa diatur untuk memisahkan logika
aplikasi dan konten dari penampilannya. Ini jauh lebih baik dijelaskan dalam
situasi di mana pemrogram aplikasi dan desainer template memainkan aturan yang
berbeda, atau secara umum bukan orang yang sama.
Sebagai contoh, katakanlah anda sedang
membuat halaman web yang menampilkan artikel koran.
- Artikel $headline, $tagline, $author dan $body adalah
elemen konten, tidak berisi informasi mengenai bagaimana akan ditampilkan.
Ia akan dioper ke dalam Smarty oleh
aplikasi.
- Kemudian desainer template mengedit template dan menggunakan kombinasi
tag HTML dan tag template untuk membentuk presentasi
terhadap variabel ini dengan elemen seperti
tabel, div, warna latar belakang, ukuran font, style sheets, svg dll.
- Suatu hari pemrogram perlu mengubah cara konten artikel diambil
(perubahan dalam logika aplikasi). Perubahan ini tidak mempengaruhi
desainer template, konten masih akan muncul dalam template persis sama.
- Demikian juga jika desainer template ingin mendesain ulang template
seutuhnya, ini tidak memerlukan perubahan logika aplikasi.
- Oleh karena itu, pemrogram dapat membuat perubahan terhadap logika
aplikasi tanpa perlu merestrukturisasi template, dan desainer template
bisa membuat perubahan terhadap template tanpa membongkar logika aplikasi.
Satu tujuan desain Smarty adalah
pemisahan logika bisnis dan logika presentasi.
- Ini tidak berarti bahwa Smarty memaksa pemisahan logika bisnis dan
presentasi. Smarty tidak mengetahui yang mana adalah yang mana, maka
menempatkan logika bisnis dalam template adalah anda sendiri yang
melakukannya.
- Juga, jika anda menginginkan tidak ada logika dalam
template, anda tentunya dapat melakukannya dengan menetapkan konten cukup
ke teks dan variabel saja.
Salah satu aspek unik mengenai Smarty
adalah kompilasi template. Ini berartu Smarty membaca file template dan membuat
naskah PHP darinya. Sekali dibuat, selanjutnya ia dieksekusi darinya. Oleh
karenanya tidak ada beban menguraikan file template untuk setiap permintaan,
dan setiap template dapat memanfaatkan solusi cache kompilator PHP
seperti eAccelerator, ionCube mmCache atau Zend Accelerator adalah
beberapa diantaranya.
Beberapa fitur Smarty:
- Efisien karena pengurai PHP yang mengerjakan pekerjaan beratnya.
- Tidak ada kelebihan penguraian template, hanya sekali mengompilasi.
- Pintar mengenai rekompilasi hanya file template yang
telah diubah.
- Anda dapat membuat dengan mudah fungsi kustom dan pengubah variabel, agar bahasa template bisa
diperluas secara ekstrim.
·
Template bisa mengkonfigurasi sintaks tag {pemisah}, agar anda dapat menggunakan {$foo}, {{$foo}}, <!--{$foo}-->,
dll.
- Konstruksi {if}..{elseif}..{else}..{/if} dioper ke
pengurai PHP, maka sintaks ekspresi {if...} bisa berupa evaluasi
sesederhana atau serumit yang anda inginkan.
- Membolehkan pengulangan tidak terbatas dari sections, if's dll.
Mungkin itu sedikit penjelasan yang gw
dapat secera searching2 di mbah Google... semoga bermanfaat.... :)