Membangunkan projek web biasanya dibahagikan kepada dua bahagian Satu bahagian ialah GUI, iaitu antara muka dan seni, ditulis menggunakan HTML, CSS, JS, dan bahagian lain adalah logik perniagaan, iaitu program dan fungsi, ditulis. menggunakan PHP. Enjin templat ialah "jambatan" yang menghubungkan dua bahagian Ia boleh difahami sebagai kelas PHP, yang mentakrifkan banyak kaedah untuk memuatkan output asal PHP ke dalam gaya antara muka dan kemudian mengeluarkannya.
<?php $title = “标题”; $content = “内容”; ?> <html> <head><title><?php echo $title; ?></title></head> <body><?php echo $content; ?></body> </html>
Dengan cara ini, tiada pemisahan antara seni dan logik Ringkasnya, pengaturcara PHP bukan sahaja perlu menulis program tetapi juga mahir dalam seni , yang selalunya sangat sukar, jadi kedua-dua bahagian kerja itu perlu dipisahkan.
Mari cipta enjin templat mudah sebagai contoh untuk lebih memahami prinsip enjin templat.
Seperti yang dinyatakan sebelum ini, membangunkan projek web terbahagi kepada dua bahagian: GUI dan logik perniagaan, jadi kami mencipta dua folder, satu bernama "template" untuk menyimpan templat, mencipta fail tpl.html baharu dan menamakan yang satu lagi Untuk "PHP", yang menyimpan logik perniagaan, buat fail index.php baharu.
Kod fail tpl.html biasanya kelihatan seperti ini:
<html> <head><title><{$title}></title></head> <body><{ $content;}></body> </html>
Ia boleh dilihat berbanding dengan kod sebelumnya, tpl.html hanya mempunyai kod html dan tiada kod php, tetapi ia telah ditambahkan Teg baharu, teg ini ditakrifkan sendiri, dan kandungan di dalamnya hanya boleh dikenali selepas disusun oleh enjin templat Fail yang dikompilasi disimpan dalam folder "templates_c". Fail ini digunakan terutamanya untuk reka bentuk antara muka, dan akan menggunakan sejumlah besar CSS, JS dan teknologi lain.
Pada masa ini, tpl.html dan index.php masih terpisah dan tidak mengganggu antara satu sama lain, jadi mereka memerlukan sambungan "bridge", iaitu enjin template, yang sebenarnya kelas PHP. , jadi mytpl boleh dibuat di sini kelas fail PHP.
Fail mytpl.class.php biasanya mentakrifkan kelas MyTpl Tatasusunan tpl_var[] perlu ditakrifkan dalam kelas untuk menyimpan parameter tag kandungan tersuai dalam tpl.html perlu ditakrifkan. Kaedah ini Tujuan utama adalah untuk menukar teg kandungan yang tidak dikenali dalam tpl.hml ke dalam penyata PHP, dan kemudian menulisnya ke tpl_c.html dalam folder "templates_c" Proses ini dipanggil kompilasi.
<html> <head><title><?php echo $this->tpl_var[“title”]; ?></head> <body><?php echo $this->tpl_var[“content”]; ?}></body> </html>
Dapat dilihat bahawa kod di atas boleh dikenali kerana tag kandungan tersuai telah digantikan dengan pernyataan PHP , tetapi kami masih tidak tahu apakah nilai tajuk dan kandungan Pada masa ini, index.php yang dibuat sebelum ini akan digunakan seperti ini:
include “tpl.class.php文件”;//加载模板引擎 $tpl = new MyTpl();//实例化一个模板类 $title = “标题”; $content = “内容”; $tpl->assign(“title”,$title);//调用模板类中的方法,分配变量 $tpl->assign(“content”,$content); $tpl->display(“tpl.html”);//调用模板类中的方法,用于显示编译后的内容
Tutorial Video PHP
"Atas ialah kandungan terperinci Artikel yang memperincikan prinsip enjin templat PHP (dengan contoh kod). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!