Редакция 374 | Редакция 388 | К новейшей редакции | Содержимое файла | Сравнить с предыдущей | Последнее изменение | Открыть журнал | RSS
Редакция | Автор | № строки | Строка |
---|---|---|---|
364 | alex-w | 1 | <?php |
2 | /** |
||
3 | * |
||
4 | * Codename: ant-ng - generator of sources.list for Debian and |
||
5 | * distributives, based on Debian |
||
6 | * http://alex-w.org.ru/p/antng/ |
||
7 | * |
||
8 | * Copyright (c) 2009 Alexander Wolf |
||
9 | * Dual licensed under the MIT and GNU LGPL licenses. |
||
10 | * http://alex-w.org.ru/p/antng/license |
||
11 | * |
||
12 | */ |
||
13 | |||
14 | /** |
||
15 | * Description of Template |
||
16 | * |
||
17 | * @author alexw |
||
18 | */ |
||
365 | alex-w | 19 | //TODO Вместо Smarty лучше написать свой очень простой шаблонизатор - монстра использовать не целесообразно |
364 | alex-w | 20 | class Template { |
374 | alex-w | 21 | private $path = NULL; |
22 | protected $self = array(); |
||
364 | alex-w | 23 | |
368 | alex-w | 24 | public function __construct($folder) { |
364 | alex-w | 25 | $this->path = $folder; |
26 | } |
||
366 | alex-w | 27 | |
373 | alex-w | 28 | public function display($name) { |
372 | alex-w | 29 | $fh = fopen($this->path.$name, "r"); |
371 | alex-w | 30 | $content = fread($fh, filesize($this->path.$name)); |
31 | fclose($fh); |
||
375 | alex-w | 32 | preg_match_all("/{([\d\w]+)}/", $content, $matches); |
33 | $tmpl = $matches[1]; |
||
373 | alex-w | 34 | for($i=0;$i<=count($tmpl);$i++) { |
35 | $content = str_replace("{".$tmpl[$i]."}", $this->__get($tmpl[$i]), $content); |
||
370 | alex-w | 36 | } |
37 | |||
373 | alex-w | 38 | echo $content; |
364 | alex-w | 39 | } |
40 | |||
368 | alex-w | 41 | public function assign($attr, $value) { |
42 | return $this->self[$attr] = $value; |
||
370 | alex-w | 43 | } |
44 | |||
45 | public function __get($attr = null) { |
||
46 | return $this->self[$attr]; |
||
366 | alex-w | 47 | } |
364 | alex-w | 48 | } |
49 | ?> |