The first purpose is the most talked about, and it envisions a situation where a group of programmers write the PHP scripts that generate the content of the page, while another group of designers designs the HTML and graphics to control the final appearance of the page. The basic idea of separating functionality and layout is to enable these two groups of people to write and use an independent set of files: programmers only need to care about files that only contain PHP code and do not need to care about the appearance of the page; while page designers can use their own Design your page layout with the most familiar visual editor, without worrying about breaking any PHP code embedded into the page.
If you have watched a few tutorials on PHP templates, then you should already understand how templates work. Consider a simple page part: the top of the page is the header, the left is the navigation bar, and the rest is the content area.
You can see how the page is constructed from templates: the main template controls the layout of the entire page; the header template and leftnav template control the common elements of the page. Identifiers inside curly braces "{}" are content placeholders. The main benefit of using templates is that interface designers can edit these files according to their own wishes, such as setting fonts, modifying colors and graphics, or completely changing the layout of the page. Interface designers can edit these pages with any ordinary HTML editor or visualization tool, because these files only contain HTML code, without any PHP code.
The PHP code is all saved in a separate file. This file is the file actually called by the page URL. The web server parses the file through the PHP engine and returns the results to the browser. Generally, PHP code always dynamically generates page content, such as querying a database or performing certain calculations. Here is an example:
// 此处的PHP代码设置$content<br>使其包含合适的页面内容<br>$tpl->assign('CONTENT', $content); <br>$tpl->parse('HEADER', 'header'); <br>$tpl->parse('LEFTNAV', 'leftnav'); <br>$tpl->parse('MAIN', 'main'); <br>$tpl->FastPrint('MAIN'); <br>?>