Metóda renderView pre vlastný MVC framework

Metóda renderView bude získavať súbor pohľadu a dosadzovať do neho hodnoty premenných. To sa robí šikovným spôsobom. Ako viete, premenné, ktoré sa používajú v súbore s pohľadom, sú obsiahnuté vo vlastnosti data objektu triedy Page.

Tieto premenné predstavujú asociatívne pole. Potrebujeme toto pole premeniť na skutočné premenné a potom pripojiť súbor s pohľadom pomocou include. V takom prípade špecifikované dostupné v tomto súbore premenné získajú svoju hodnotu a na výstupe získame jednoducho HTML kód už s dosadenými hodnotami premenných.

Na to, aby sme premenili pole na premenné, použijeme špeciálnu funkciu 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 premenné
        include $viewPath; // pripájame súbor s pohľadom
      return ob_get_clean();
    }
  }
?>