<?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'; } }