document = $document; } /** * Установка значения * @param string $key ключ * @param mixed $value значение */ public function set($key, $value): void { $this->values[$key] = $value; } /** * Импорт значений * @param array $list список значений */ public function import($list): void { $this->values = array_merge($this->values, $list); } /** * @param string $key ключ * @param mixed $value значение */ public function __set($key, $value): void { $this->set($key, $value); } /** * Выполнение шаблона * @return string */ public function execute() { $result = $this->values; return self::getTemplateContent ($this->document, $result); } /** * Получение содержимого шаблона * @param string $document шаблон * @param array $result результат * @return string содержимое шаблона */ static function getTemplateContent(string $document, $result): string { ob_start (); include ($document); $content = ob_get_contents (); ob_clean (); return $content; } }