Smarty Manual
Prev | Chapter 12. Smarty Class Variables | Next

# $compile_id

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.

Example 12-6. $compile_id in a virtual host enviroment
`<?php $smarty->compile_id = $_SERVER['SERVER_NAME']; $smarty->compile_dir = '/path/to/shared_compile_dir'; ?>`

Prev | Home | Next
$error_reporting | Up | $use_sub_dirs