Get Smarty

Donate

Paypal

Smarty Icon

You may use the Smarty logo according to the trademark notice.

Smarty Template Engine Smarty Template Engine

For sponsorship, advertising, news or other inquiries, contact us at:

Sites Using Smarty

Advertisement

Kata Pengantar

Tidak diragukan lagi salah satu pertanyaan yang paling sering diajukan pada milis PHP: bagaimana saya membuat naskah PHP independen terhadap tata letak? Sementara PHP dihitung sebagai "bahasa penaskahan melekat HTML", setelah menulis beberapa proyek yang mencampur PHP dan HTML secara bebas, datanglah satu ide yang memisahkan formulir dan isis adalah Good Thing [TM]. Sebagai tambahan, dalam banyak perusahaan aturan pendesain tata letak dan pemrogram adalah terpisah. Konsekuensinya, pencarian solusi templating terjadi kemudian.

Dalam perusahaan kami contohnya, pengembangan aplikasi terjadi sebagai berikut: Setelah peryaratan dokumen selesai, pendesain interface membuat maket interface dan memberikannya ke pemrogram. Pemrogram mengimplementasikan logika bisnis dalam PHP dan menggunakan maket interface untuk membuat rangka template. Proyek kemudian diserahkan ke pendesain HTML/ata letak halaman web, orang tang membawa template sampai penuh dengan kemegahan. Proyek mungkin bolak-balik diantara pemrogram/HTML beberapa kali. Selanjutnya, adalah penting untuk mempunyai dukungan template karena pemrogram tidak ingin melakukan hal yang berkaitan dengan HTML dan tidan ingin pendesain HTML memaketkannya dengan kode PHP. Pendesain memerlukan dukungan untuk file konfigurasi, blok dinamis dan hal lain yang berkenaan dengan interface, tapi mereka tidak harus berhadapan dengan kerumitan bahasa pemrograman PHP.

Melihat di banyaknya solusi template untuk PHP hari ini, kebanyakan darinya menyediakan cara yang belum sempurna atas penggantian variabel ke dalam template dan melakukan bentuk terbatas dari fungsionalitas blok dinamis. Tapi kebutuhan kita memerlukan sedikit lebih banyak dari itu. Kami tidak menginginkan pemrogram untuk berurusan dengan tata letak HTML SAMA SEKALI, tapi ini hampir tidak bisa dihindari. Sebagai contoh, jika pendesain menginginkan warna latar belakang untuk berubah pada blok dinamis, ini harus dikerjakan dengan pemrogram terlebih dulu. Kami juga membutuhkan pendesain untuk bisa menggunakan file konfigurasinya sendiri, dan menarik variabel darinya ke dalam template. Daftar terus bertambah.

Kami mulai menulis spesifikasi untuk mesin template di akhir 1999. Setelah menyelesaikan spesifikasi, kami mulai bekerja pada mesin template yang ditulis dalam C yang dengan harapan dapat diterima untuk disertakan dengan PHP. Kami tidak hanya mengalami teknis yang kompleks, tapi juga ada debat panas mengenai apa yang harus dilakukan dan tidak oleh mesin template . Dari pengalaman ini, kami memutuskan bahwa mesin template harus ditulis dalam PHP sebagai kelas, agar setiap orang menggunakannya bila sesuai. Maka kami menulis mesin yang tidak hanya itu dan SmartTemplate memperlihatkan keberadaannya (catatan: kelas ini tidak pernah dikirimkan untuk umum). Ia adalah kelas yang mengerjakan hampir apapun yang kami inginkan: substitusi variabel reguler, didukung termasuk template lain, integrasi dengan file konfigurasi, melekatkan kode PHP, fungsionalitas pernyataan 'if' terbatas dan blok dinamis lebih stabil yang dapat diperbanyak secara berulang. Ia melakukan ini semua dengan ekspresi reguler dan kode diubah menjadi, harus kami katakan, bisa dipahami. Ia juga tercatat lambat dalam aplikasi besar dari semua penguraian dan ekspresi reguler mengerjakannya harus melakukannya untuk setiap permintaan. Masalah terbesar dari sudut pandang pemrogram adalah semua pekerjaan yang perlu dalam naskah PHP untuk menyiapkan dan memproses template dan blok dimasis. Bagaimana kami membuat ini lebih mudah?

Lalu datanglah bayangan atas apa yang secara utama menjadi Smarty. Kami mengtahui seberapa cepat kode PHP tanpa melebihkan penguraian template. Kami juga mengetahui bagaimana teliti dan memaksanya bahasa PHP terlihat bagi umumnya pendesain, dan ini bisa diatasi dengan sintaks template yang lebih sederhana. Lalu bagaimana jika kami menggabungkan dua kekuatan? Selanjutnya, Smarty dilahirkan... :-)

Comments
No comments for this page.

Advertisement