$compile_id Постоянный идентификатор компиляции. Как альтернативу использованию одного и того же compile_id при каждом вызове функции, вы можете самостоятельно задавать этот идентификатор, и в этом случае будет безусловно автоматически это значение. С помощью compile_id вы можете обойти ограничение, из-за которого вы не можете использовать один compile_dir для разных template_dir. Если вы установите уникальный compile_id для каждого template_dir, Smarty сможет различать компилированные шаблоны по их compile_id. К примеру, если у вас есть префильтр, локализирующий ваш ваши шаблоны (проще говоря, переводит части шаблонов на другой язык) во время компиляции, то вам следует использовать текущий язык в качестве compile_id и вы получите по набору скомпилированных шаблонов для каждого используемого языка. Другим примером может быть использование одной компиляционной директории для нескольких доменов / нескольких vhost'ов, к примеру: compile_id compile_id = $_SERVER['SERVER_NAME']; $smarty->compile_dir = 'path/to/shared_compile_dir'; ]]>