What is Smarty?
Why use it?
Use Cases and Work Flow
Syntax Comparison
Template Inheritance
Best Practices
Crash Course
You may use the Smarty logo according to the trademark notice.
For sponsorship, advertising, news or other inquiries, contact us at:
Smarty membolehkan akses ke obyek PHP melalui template. Ada dua cara untuk mengaksesnya.
Cara pertama adalah meregistrasi obyek ke template, lalu menaksesnya via sintaks mirip dengan fungsi kustom.
Cara kedua adalah fungsi assign() obyek ke template dan mengaksesnya seperti halnya variabel lainnya yang ditempati.
Metode pertama ini merupakan sintaks template lebih baik. Ia juga lebih aman, karena obyek terdaftar dapat dibatasi ke metode atau properti tertentu. AKan tetapi, obyek terdaftar tidak bisa diulang terus menerus atau ditempati dalam obyek arrays, dll. Metode yang anda pilih akan ditentukan oleh kebutuhan anda, tapi gunakan metode pertama bila memungkinkan untuk memelihara sintaks template menjadi minimum.
Jika $security dihidupkan, tidak ada metode privat atau fungsi yang dapat diakses (diawali dengan '_'). Jika ada metode dan properti dari nama yang sama, metode yang akan dipakai.
Anda dapat membatasi metode dan propertis yang bisa diakses dengan mendaftarkannya dalam sebuah array sebagai parameter ketiga registrasi.
Secara standar, parameter dioperkan ke obyek melaluis template, dioperkan dengan cara yang sama fungsi kustom mendapatkannya. Array asosiatif dioper sebagai parameter pertama, dan obyek smarty sebagai yang kedua. Jika anda menginginkan parameter mengoper satu parameter sekali waktu untuk setiap argumen seperti pengoperan parameter obyek tradisional, set parameter registrasi ke empat dengan FALSE.
Parameter opsional ke lima hanya berpengaruh dengan format dijadikan TRUE dan berisi daftar metode yang seharusnya diperlakukan sebagai blok. Itu berarti metode ini mempunyai tag penutup dalam template ({foobar->meth2}...{/foobar->meth2}) dan parameter pada metode mempunyai sinopsis yang sama seperti parameter untuk block-function-plugins: Ia medapatkan empat parameters $params, $content, &$smarty dan &$repeat dan juga bertindak seperti block-function-plugins.
Lihat juga register_object() dan assign().