Persistant compile identifier. As an alternative to passing the same
$compile_id
to each and every function call, you can set this
$compile_id
and it will be used implicitly thereafter.
With a $compile_id
you can work around the limitation
that you cannot use the same
$compile_dir
for different
$template_dirs
. If you set a distinct
$compile_id
for each
$template_dir
then Smarty can tell the compiled templates apart by their
$compile_id
.
If you have for example a
prefilter
that localizes your templates
(that is: translates language dependend parts) at compile time, then
you could use the current language as $compile_id
and
you will get a set of compiled templates for each language you use.
Another application would be to use the same compile directory across multiple domains / multiple virtual hosts.
Пример 13.1. $compile_id in a virtual host environment
<?php $smarty->compile_id = $_SERVER['SERVER_NAME']; $smarty->compile_dir = '/path/to/shared_compile_dir'; ?>