$content = file_get_contents(TPL_DIR.'index.tpl');
В этом
$content
нужно дописать в путь к include'ам абсолютный путь к директории шаблонов (константа TPL_DIR). Не удобно во всех шаблонах писать include TPL_DIR.$name'.'tpl';Я сделал это так:
$content = file_get_contents(TPL_DIR.$tpl.'.tpl');
$content = preg_replace('#<?.*include(\s+)|(\s*\()#', '<? include '.TPL_DIR, $content);
$tmp_name = tempnam(TMP_DIR, '');
file_put_contents($tmp_name, $content);
include $tmp_name;
unlink('$tmp_name);
Но это для одного файла, для полной работы необходимо писать рекурсивный вызов.
Вопрос в том, как можно поступить иначе (побыстрее) ??? Smarty не предлагать =)
Спустя 13 минут, 30 секунд (13.01.2010 - 13:59) jetistyum написал(а):
Спустя 30 минут, 52 секунды (13.01.2010 - 14:30) VolCh написал(а):
$tmp_name = tempnam(TMP_DIR, '');
file_put_contents($tmp_name, $content);
include $tmp_name;
unlink('$tmp_name);
иначе (насчёт быстрее сам меряй

eval($content);
Спустя 37 минут, 6 секунд (13.01.2010 - 15:07) Evgeniy написал(а):
Цитата (jetistyum @ 13.01.2010 - 10:59) |
http://php.net/manual/en/function.set-include-path.php или я не так тебя понял? |
Спасибо!!! Именно то, что мне нужно =)