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:
设置为true时,PHP程序每次调用时,Smarty都会检查当前的模板从上次编译后是否已经被修改过(依据时间戳), 如果已被修改,它会重新编译该模板。 如果当该模板是从未被编译过的,那么它会忽略此设置并进行编译(不管这变量是否设置成false)。 默认该变量为true。
当程序部署到了生产环境中(模板再也不需要修改),那么此编译检查也就不需要了,最好设置$compile_check
为false。
但这时,如果有个模板被修改,在没有重新编译的情况下,你将*不会*看到任何改变。
如果$caching
和
$compile_check
同时设置为true,
那么当相关的模板文件或者配置文件被修改的时候,缓存文件将重新生成。
在 Smarty 3.1,$compile_check
可以赋值为
Smarty::COMPILECHECK_CACHEMISS
。
这会使得Smarty在重新生成某个缓存文件的时候,再次检查对应的编译文件。
也就是假设一个缓存文件存在但已经过期,Smarty会在重新生成缓存之前,启动一个单独的编译检查程序。