MAPG-86 refactor view-controller
This commit is contained in:
1 parent
b0b244712f
commit
88fe7b7a03
7 files changed
+62
-17
No files matched your search
@@ -1,29 +0,0 @@
|
||||
<?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';
|
||||
}
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
<?php namespace MapGuesser\View;
|
||||
|
||||
class JsonView extends ViewBase
|
||||
{
|
||||
public function __construct(array &$data = [])
|
||||
{
|
||||
$this->data = &$data;
|
||||
}
|
||||
|
||||
public function &render(): string
|
||||
{
|
||||
$content = json_encode($this->data);
|
||||
|
||||
return $content;
|
||||
}
|
||||
|
||||
public function getContentType(): string
|
||||
{
|
||||
return 'application/json';
|
||||
}
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
<?php namespace MapGuesser\View;
|
||||
|
||||
use MapGuesser\Interfaces\View\IView;
|
||||
|
||||
abstract class ViewBase implements IView
|
||||
{
|
||||
protected array $data;
|
||||
|
||||
public function &getData(): array
|
||||
{
|
||||
return $this->data;
|
||||
}
|
||||
|
||||
abstract public function &render(): string;
|
||||
|
||||
abstract public function getContentType(): string;
|
||||
}
|
||||
Reference in new issue
Block a user