30 lines
586 B
PHP
30 lines
586 B
PHP
|
<?php namespace MapGuesser\View;
|
||
|
|
||
|
class HtmlView extends ViewBase
|
||
|
{
|
||
|
private string $template;
|
||
|
|
||
|
public function __construct(string $template, array &$data = [])
|
||
|
{
|
||
|
$this->template = $template;
|
||
|
$this->data = &$data;
|
||
|
}
|
||
|
|
||
|
public function &render(): string
|
||
|
{
|
||
|
extract($this->data);
|
||
|
|
||
|
ob_start();
|
||
|
require ROOT . '/views/' . $this->template . '.php';
|
||
|
$content = ob_get_contents();
|
||
|
ob_end_clean();
|
||
|
|
||
|
return $content;
|
||
|
}
|
||
|
|
||
|
public function getContentType(): string
|
||
|
{
|
||
|
return 'text/html';
|
||
|
}
|
||
|
}
|