持续化的编译识别符。我们不用在每次函数调用时显式传递同一个$compile_id,而是可以设置该$compile_id,而它将被隐式调用。
使用$compile_id,你可以绕开对不同的$template_dirs不能使用相同的$compile_dir的限制。如果你对每个$template_dir赋予一个唯一的$compile_id,那么Smarty就可以根据它们的$compile_id来区别各个编译的模板。
例如,在编译时你有一个前过滤器以当地化你的模板(即:翻译与语种相关的部分),那么你就可以用当前语种作为$compile_id,从而对于每个你使用的语种,你将获得一套编译的模板。
另一个应用是,对于多域名/多虚拟主机使用相同的编译目录。