Apa sih sebenarnya Smarty? Penjelasan pendeknya, Smarty adalah library PHP untuk mengolah tampilan berbasis web dari sebuah cetakan tampilan dan data dari skrip PHP.
Sistem template ini sangat penting dalam pekerjaan menampilkan halaman web dinamis. Pekerjaan mengkreasi tampilan dan logika pemrograman secara mudah dipisahkan. Sehingga tingkat kebergantungan akan dikurangi.
Cara kerja sistem template pernah saya tulis di disini, atau disini. Dalam tulisan ini saya akan membahas sistem templating yang lebih rumit dan lengkap.
Asumsi:
- Sistem operasi Debian GNU/Linux 5.0 “Lenni”,
- PHP 5.2.6,
- Smarty 2.6.26, bisa didapatkan dari URI ini,
- Konfigurasi Apache 2.2.9 standar bawaan Debian,
- Mampu menggunakan perintah baris di GNU/Linux.
Siapkan direktori kerja di bawah struktur direktory Apache, yaitu /var/www. Karena otoritas membuat file/direktori dalam direktori ini adalah user “root” maka kita harus mengubah efektif id kita menjadi root dengan perintah,
salman@neon:~$ su - Password: neon:~#
Perhatikan perintah di atas. Username yang digunakan sebelumnya adalah “salman” setelah perintah “su -“, user menjadi “root”. Sesuaikan dengan username yang Anda gunakan. Saatnya membuat struktur direktori kerja.
neon:~# mkdir -p /var/www/smarty/{templates,templates_c,cache,configs} neon:~# chown -R salman:salman /var/www/smarty/ neon:~# chown www-data:www-data /var/www/smarty/{templates_c,cache}
Download file Smarty dari URI yang telah ditunjukkan di atas. Kemudian uraikan file tersebut.
salman@neon:~$ tar -xzvf Smarty-2.6.26.tar.gz salman@neon:~$ mv Smarty-2.6.26/libs/ /var/www/smarty
Struktur direktori akan nampak seperti ini,
/var/www/smarty |-- cache |-- configs |-- libs | |-- internals | `-- plugins |-- templates `-- templates_c
Kita akan membuat sebuah halaman sederhana untuk menampilkan pesan yang sangat terkenal, “Hello World”. Siapkan template untuk ditampilkan.
salman@neon:~$ cd /var/www/smarty salman@neon:/var/www/smarty$ vi templates/index.tpl
Isi file adalah,
<HTML> <BODY> {$isi} </BODY> </HTML>
Setelah itu siapkan skrip yang akan menggunakan template ini.
salman@neon:/var/www/smarty$ vi index.php
Isi file,
<?php require libs/Smarty.class.php; $smarty = new Smarty; $smarty->assign("isi","Hello World."); $smarty->display(index.tpl); ?>
Setelah itu akses file index.php menggunakan web browser. Isikan pada address bar browser. http://localhost/smarty/.
E.O.T