Apakah Smarty itu? Smarty adalah engine template untuk PHP. Kalau lebih terperinci,
Smarty memberikan fasilitas untuk mengatur pemisahan logika aplikasi dan isi
dari presentasi. Hal ini digambarkan dengan baik di mana programmer aplikasi
dan desainer memiliki peran berbeda, di mana pada sebagian besar kasus bukan
merupakan orang yang sama. Sebagai contoh, misalkan Anda membuat halaman web
yang menampilkan artikel koran.
Judul artikel, author dan body merupakan elemen isi, mereka tidak mengandung
informasi bagaimana mereka akan direpresentasikan. Mereka ditransfer ke Smarty
oleh aplikasi dan template desainer mengedit template dan menggunakan kombinasi
tag HTML dan tag template untuk memformat presentasi dari elemen tersebut (tabel
HTML, warna latar, ukuran font, style sheet). Kemudian suatu hari programmer
perlu mengubah bagaimana isi artikel didapatkan. Perubahan ini tidak mempengaruhi
template desainer, karena isi artikel akan dapat diperoleh pada template seperti
sebelumnya. Lalu sama halnya apabila template desainer perlu merubah desain
maka logik aplikasi tidak perlu dirubah sama sekali,
Mekanisme unik dari Smarty adalah proses compiling template. Hal ini berarti
Smarty membaca file template dan membuat skrip PHP daripadanya. Sekali mereka
dibuat, mereka akan dijalankan sehingga tidak ada pemborosan waktu dan sumber
daya untuk parsing template untuk tiap request. Template juga dapat memanfaatkan
keunggulan PHP Compiler cache seperti Zend Accelerator atau PHP Accelerator.
Sebagian keunggulan dan fasilitas Smarty:
- sangat cepat
- efisien karena diproses seperti program PHP biasa oleh PHP Parser
- Tidak ada parsing template karena dikompilasi hanya sekali saja
- Pintar karena kompilasi ulang terjadi otomatis bila file template berubah
- Anda dapat membuat fungsi sendiri dan modifier variabel sendiri sehingga penggunaan
template dapat dikembangkan lebih luas
- Sintaks template yang dapat dikonfigurasi, Anda dapat menggunakan {}, {{}},
- Struktur if/elseif/else/endif dipass ke parser PHP sehingga ekspresi {if..}
dapat digunakan dalam bentuk sederhana maupun kompleks
- Tidak ada pembatasan section bertingkat
- Kita dapat menyisipkan kode PHP dalam file template, meskipun hal ini mungkin
tidak diperlukan
- Fasilitas built in caching
- Arbitrary template sources
- Fungsi penanganan cache yang dapat dibuat sendiri
- Arsitektur plugin


Tidak ada komentar:
Posting Komentar