<?php
/**
* Базовый класс для интерфейса с использованием шаблонов
*/
class ui {
protected $_tpl_file;
protected $_data = array();
public function __get($name) {
return array_key_exists($name, $this->_data) ? $this->_data[$name] : false;
}
public function __construct() {
$this->_data['id'] = $this->_getNewId();
}
/**
* Возвращает уникальный идентификатор класса на странице
* @staticvar array $id
* @return type
*/
protected function _getNewId() {
static $id = array();
$class = get_class($this);
return $class . '_' . @++$id[$class];
}
/**
* Устанавливает путь к файлу для запроса AJAX`ом
* @param type $url
*/
public function setAjaxUrl($url) {
$this->_data['ajax_url'] = $url;
}
/**
* Возврат HTML кода
* @return string
*/
public function fetch() {
$tpl = new design();
$tpl->assign($this->_data);
return $tpl->fetch($this->_tpl_file);
}
/**
* Вывод HTML в браузер
*/
public function display() {
echo $this->fetch();
}
}