в принципе это в полне возможно,
просто каждый раз когда скрипт запускается он сназало компилируется,
а потом выполняется, но когда используеся eval компилировать приходится несколько раз,
от этого может быть тормоз но это врятли, т.к. это происходить очень бысто,
скорость примерно такая же как в include,
но разница между include и eval только в том что include можно закешировать,
а eval ни как не закешируешь.
(Добавление)
я решил собрать все способы шаблонизаци и хотелось бы услышать ваше мнение об этом
PHP:
скопировать код в буфер обмена
class tpl { var $tage=array('<!--<>','<>-->'); function replace($replace, $subject) { $tag_on = $this->tage[0]; $tag_off = $this->tage[1]; { foreach ($replace as $key => $val) { $subject = str_replace($tag_on.$key.$tag_off, $val, $subject); } return $subject; } else { return ''; } } function heredoc($tpl, $arg) { if(is_array($arg)){foreach($arg as $key => $val){$$key = $val;}} eval("\$p = <<<ENV\r\n".$tpl."\r\nENV;\r\n"); return $p; } function php_cod($tpl, $arg) { if(is_array($arg)){foreach($arg as $key => $val){$$key = $val;}} include($tpl); return $r; } }
(Отредактировано автором: 14 Июля, 2008 - 01:05:12)
|