PhpRiot
Become Zend Certified

Prepare for the ZCE exam using our quizzes (web or iPad/iPhone). More info...


When you're ready get 7.5% off your exam voucher using voucher CJQNOV23 at the Zend Store

$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 158. $compile_id in a virtual host environment



<?php

$smarty
->compile_id $_SERVER['SERVER_NAME'];
$smarty->compile_dir '/path/to/shared_compile_dir';

?>

  

Smarty Template Engine