ГРАМОТНОЕ использование шаблонов!

glukerrr

Guest
ГРАМОТНОЕ использование шаблонов!

Господа!
Как правильно использовать шаблоны? Вот я хочу создать некий файл *.tpl, в котором бы присутствовал только хтмл и вещи типа [VAR1], [VAR2]

А файлы *.php подгружали бы *.tpl файлы, заменяли бы в них всякие [VAR1], [VAR2] на данные полученные из базы.

Но вот возникают некоторые вопросы: как правильно это осущиствить в плане кода? как файл открыть? записать в переменную? и изменить все спец вхождения на символы?

И вообще.. правильно ли так делать?
 

Апокалипсис

Guest
Я делаю так
PHP:
function Template($file)
{
global $var1,$var2;
$tpl=file($file);
for($i=0;$i<=count($tpl);$i++)
{
$tpl[$i]=str_replace("[VAR1]",$var1,$tpl[$i]);
echo $tpl[$i];
}}
 

GaRRiLL

Guest
Но вот возникают некоторые вопросы: как правильно это осущиствить в плане кода? как файл открыть? записать в переменную? и изменить все спец вхождения на символы?
С помощью PHP это делается. Исходники посмотришь в готовых template-engines.
И вообще.. правильно ли так делать?
Смотря как и кому делать.
 

Frol

Новичок
>$tpl[$i]=str_replace("[VAR1]",$var1,$tpl[$i]);
ИМХО preg_match() быстрей будет
 

Макс

Старожил PHPClub
>$tpl[$i]=str_replace("[VAR1]",$var1,$tpl[$i]);
ИМХО preg_match() быстрей будет
preg_match и str_replace() делают разные вещи.
В любом случае строковые функции работают быстрее чем регулярки, но они не всегда применимы.
 

glukerrr

Guest
Ко всему этому хочу лишь добавить, чтолучше наверно
for($i=0;$i<count($tpl);$i++)
а не
for($i=0;$i<=count($tpl);$i++)

Спасибо!
 

Demiurg

Guest
вообще то есть куча готовых модулей, которые все замены будут делать за вас. плюс еще будут иметь различные возможности.
 

Crazy

Developer
Автор оригинала: glukerrr
Ко всему этому хочу лишь добавить, чтолучше наверно
for($i=0;$i<count($tpl);$i++)
а не
for($i=0;$i<=count($tpl);$i++)
Спасибо!
for($i=0,$len=count($tpl);$i<$len;$i++)

Почувствуйте разницу...
 

Demiurg

Guest
ломать, так ломать:
foreach($tpl as $str) echo str_replace(..., $str);
 
Сверху