public static function view(array $params = [], $method = ''): string { $array = debug_backtrace(); $file = $array[0]['file'] ?? ''; $method = $method ?: ($array[1]['function'] ?? '');
$fileDir = rtrim($file, '.php'); $viewFile = str_replace('Controller', 'View', $fileDir . DS . $method) . '.phtml'; if (!file_exists($viewFile)) { return "<h1 > {$method} 404 </h1>"; }
ob_start(); include $viewFile; $html = ob_get_contents(); ob_end_clean();
if ($params) {
foreach ($params as $k => $v) $$k = $v;
preg_match_all('/{(.*)}/i', $html, $list); foreach ($list[1] as $var) { $tmp = $$var ?? ''; $html = str_replace('{' . $var . '}', $tmp, $html); } }
return $html; }
|