27 lines
558 B
PHP
27 lines
558 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\Core;
|
|
|
|
class View
|
|
{
|
|
public static function render(string $viewName, array $data = [], ?string $layout = 'app'): void
|
|
{
|
|
extract($data, EXTR_SKIP);
|
|
|
|
$viewFile = __DIR__ . '/../Views/' . $viewName . '.php';
|
|
|
|
ob_start();
|
|
require $viewFile;
|
|
$content = ob_get_clean();
|
|
|
|
if ($layout === null) {
|
|
echo $content;
|
|
return;
|
|
}
|
|
|
|
$layoutFile = __DIR__ . '/../Views/layouts/' . $layout . '.php';
|
|
require $layoutFile;
|
|
}
|
|
} |