private function renderFnc($params, $layout) { if ($layout && isset($this->layout)) { if (file_exists('views/' . $this->layout)) { $l = file_get_contents('views/' . $this->layout); } } $f = implode(DIRECTORY_SEPARATOR, [dirname(__DIR__), 'views', self::$_routing['controller'], self::$_routing['action']]) . '.html'; if (file_exists($f)) { $c = file_get_contents($f); foreach ($params as $k => $v) { $c = preg_replace("/\\{\\{\\s*{$k}\\s*\\}\\}/", $v, $c); } if (isset($l)) { self::$_render = preg_replace("/\\{\\{\\s*content\\s*\\}\\}/", $c, $l); } else { self::$_render = $c; } } else { self::$_render = "Impossible de trouver la vue" . PHP_EOL; } }
/** * @param string $dir Dossier dans lequel la vue sera appelé * @param string $view Nom de la vue à afficher * @param array $param L'utilisation de cette variable est facultative, ce tableau contient les variables que l'on souhaite passer à la vue * @return self::$_render; */ protected function render($dir, $view, $param = []) { $f = implode(DIRECTORY_SEPARATOR, [dirname(__DIR__), 'views', $dir, $view]) . '.html'; if (file_exists($f)) { $c = file_get_contents($f); foreach ($param as $k => $v) { $c = preg_replace("/\\{\\{\\s*{$k}\\s*\\}\\}/", $v, $c); } self::$_render = $c; } else { self::$_render = "Impossible de trouver la vue" . PHP_EOL; } }