createContent($view, $data); echo $content; } public function fetch(string $view, array $data = []): false|string { $content = $this->createContent($view, $data); return $content; } private function createContent(string $view, array $data = []): false|string { ob_start(); foreach ($data as $key => $datum){ ${"$key"} = $datum; } include ($this->viewPath . $view); $content = ob_get_contents(); ob_end_clean (); ob_start(); $file_content = $content; if ($this->layout){ if (file_exists($this->viewPath . $this->layout)){ include ($this->viewPath . $this->layout); $file_content = ob_get_contents(); } } ob_end_clean (); return $file_content; } }