![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
strange mood
|
Для тех, кого задолбало каждый раз перерывать код чтобы поменять какой-нить элемент оформления
![]() Переменные шаблона выделяются знаками процента, например, вот так: %SOMEVAR% . Так же название переменных чувствительно к регистру Создание: $tpl=new tpl("path/to/template"); ИЛИ $tpl=new tpl("строка содержащая переменную %VAR%",1); если задан второй аргумент и он не равен 0 то первый параметр интерпретируется не как путь к файлу шаблона, а как текст шаблона при ошибке в любой функции её причина записывается в свойство объекта error (можно проверять по isset()) Присвоение: $tpl->a("VAR", $value); //заменяет в шаблоне строку %VAR% на значение $value Парсинг: $out=$tpl->parse(); //возвращает обработанный шаблон, НЕ ВЫВОДИТ В ДОКУМЕНТ Вывод: $tpl->p(); //выводит обработанный шаблон. эта функция НЕ ТРЕБУЕТ предварительного парсинга ЗЫ: звыняйте, не умею я мануалы писать ![]() <?
class tpl{
//Конструктор класса
function tpl($path, $from_str=0){
$this->error="";
if(!$from_str){
if(!file_exists($path)){
$this->error="Файл \"$path\" не найден.";
$this->str=$this->error;
return 0;
}//end if
$str=join("", file($path));
}else{//if(!$from_str)
$str=$path;
}//end if
$this->str=$str;
return 1;
}//конец конструктора
//assign - присвоение
function a($var, $value){
$this->vars[$var]=$value;
}//end of assign function
//Парсинг
function parse(){
$this->parsed_str=$this->str;
if(isset($this->vars))
foreach($this->vars as $k=>$v){
$this->parsed_str=str_replace('%'.$k.'%', $v, $this->parsed_str);
}
return $this->parsed_str;
}//end of parse function
//print - вывод
function p(){
echo $this->parse();
}
}//end of class description
?>
__________________
тонкий тролль, осеянный благодатью |
![]() |
![]() |
Часовой пояс GMT +4, время: 12:29. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|