простой но удобный template-engine.

tristram

Guest
простой но удобный template-engine.

понятно, что эта приблуда не сравнится с тем же smarty, но потребности многих пользавателей выполняет.
скрипт читает файл, и заменяет
"@name@"=>"value".

PHP:
<?
class theme
{
 var $dir;
 function theme($a)
 {
  $this->dir = $a;
  if (!is_readable($a)) {}
 }
 function get($a,$b="")
 {
  $data = @join("",file($this->dir.$a.".tpl"));
  if (($data) and ($b))
  {
   $k = array_keys($b);
   $v = array_values($b);
   $c = array();
   foreach($k as $m)
   {
    $c[] = "@".$m."@";
   }
   $data = str_replace($c,$v,$data);
  }
  return $data;
 }
}
?>
 

.des.

Поставил пиво кому надо ;-)
tristram зачем заполнять форум этими "приблудами" как вы сами выражаетесь?

И зачем такие строки?
if (!is_readable($a)) {}

Функция file_get_contents вам знакома?.

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

tristram

Guest
та строка для того чтобы можно было вывести ошибку.
эту функцию я сейчас сам стал юзать. т.к быстрее чем join(""
 

SiMM

Новичок
tristram, а чем этот способ лучше связки [m]include[/m] + <?=$var?>, что будет явно быстрее всяких ухищрений? И, имхо, [m]foreach[/m]($b as $k=>$v)$b[$k] = '@'.$v.'@'; + [m]strtr[/m]($data,$b) выглядит проще и красивше.
 

Sir_J

Guest
tristram называть ту фигню что ты написал template-engine' ом
по меньшей мере глупо
 

Demiurg

Guest
tristram
а ты свою операционную систему случаем не пишешь ?
 

Crazy

Developer
Demiurg, ты его спугнешь! Я уже несколько дней жду появления топика "простая, но удобная операционная система на PHP"...
 
Сверху