Files
smarty/docs/id/preface.xml
2007-09-17 11:26:17 +00:00

95 lines
4.7 KiB
XML

<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
<preface id="preface">
<title>Kata Pengantar</title>
<para>
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.
</para>
<para>
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.
</para>
<para>
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.
</para>
<para>
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
<productname>SmartTemplate</productname> 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?
</para>
<para>
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... :-)
</para>
</preface>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->