Metoda renderView pro vlastní MVC framework

Metoda renderView bude získávat soubor pohledu a dosazovat do něj hodnoty proměnných. To se dělá chytrým způsobem. Jak víte, proměnné, které se používají v souboru s pohledem, jsou obsaženy ve vlastnosti data objektu třídy Page.

Tyto proměnné představují asociativní pole. Potřebujeme toto pole přeměnit na skutečné proměnné a poté připojit soubor s pohledem pomocí include. V tomto případě uvedené dostupné v tomto souboru proměnné získají svou hodnotu a na výstupu dostaneme jednoduše HTML kód již s dosazenými hodnotami proměnných.

Pro převod pole na proměnné použijeme speciální funkci extract:

/core/View.php<?php
  private function renderView(Page $page) {
    $viewPath = $_SERVER['DOCUMENT_ROOT'] . "/project/views/{$page->view}.php";
    
    if (file_exists($viewPath)) {
      ob_start();
        $data = $page->data;
        extract($data);    // pole na proměnné
        include $viewPath; // připojíme soubor s pohledem
      return ob_get_clean();
    }
  }
?>