smarty基本工作流程其实就是其引擎将前台模板文件和后台的PHP程序(index.php)整合在一起,经过编译,生成了一个可执行的php代码,编译后的文件一般就是存放在$compile_dir所指定的目录。所以主要流程即,保存变量数组(由后台PHP生成的变量通过assign存起来,如存在$this->_tpl_vars中),然后读取模板,用正式匹配模板文件并生成编译文件(根据模板修改时间看是否需要重新编译),然后把编译后的PHP文件保存,再通过后台定义的变量把办容输出给客户端。
smarty缓存很强大,但有些动态区域不想被缓存时可使用如下几种方法:
1.使用insert 方法
2.使用register_function
3.使用register_block