\$compile_check {/programmers/api-variables/variable-compile-check/}
在每次 PHP 应用程序调用时,Smarty 会检查当前模板是否与上次编译时发生了更改(时间戳不同)。如果发生了更改,它将重新编译该模板。如果模板尚未编译过,则无论此设置如何,它都将进行编译。默认情况下,此变量设置为 TRUE。
一旦应用程序投入生产(即模板不会更改),就不再需要进行编译检查步骤。请确保将 $compile_check 设置为 FALSE 以获得最佳性能。请注意,如果将其更改为 FALSE 并更改了模板文件,您将*无法*看到更改,因为模板不会重新编译。
请注意,直到 Smarty 4.x,即使禁用了 $compile_check,Smarty 仍会检查源模板的存在。
如果启用了 $caching 并且启用了 $compile_check,则如果涉及的模板文件或配置文件已更新,缓存文件将被重新生成。
从 Smarty 3.1 开始,可以将 $compile_check 设置为值 Smarty::COMPILECHECK_CACHEMISS。这使得 Smarty 在重新生成缓存之前能够重新验证已编译的模板。因此,如果存在一个已缓存的模板,但其已过期,Smarty 将在重新生成缓存之前运行单个 compile_check。