phplibrary/src/View/Plain.php

50 lines
965 B
PHP

<?php
// Класс отображения
// CompositeView !! Composite pattern
/**
* @package system.view
*/
namespace ctiso\View;
class Plain extends \stdClass
{
protected $document;
protected $values = array();
public function __construct ($document)
{
$this->document = $document;
}
public function set($key, $value)
{
$this->values[$key] = $value;
}
public function import($list)
{
$this->values = array_merge($this->values, $list);
}
public function __set($key, $value)
{
$this->set($key, $value);
}
public function execute()
{
$result = $this->values;
return self::getTemplateContent ($this->document, $result);
}
static function getTemplateContent($document, $result)
{
ob_start ();
include ($document);
$content = ob_get_contents ();
ob_clean ();
return $content;
}
}