Metod renderView za svoj MVC frejmvork

Metod renderView će dobiti fajl predstavljanja i u njega ubacivati vrednosti promenljivih. Ovo se radi lukavim načinom. Kao što znate, promenljive koje se koriste u fajlu sa predstavljanjem, sadržane su u svojstvu data objekta klase Page.

Ove promenljive predstavljaju asocijativni niz. Treba da pretvorimo ovaj niz u prave promenljive, a zatim da povežemo fajl sa predstavljanjem preko include. U ovom slučaju navedene dostupne u ovom fajlu promenljive će dobiti svoju vrednost i na izlazu ćemo dobiti jednostavan HTML kod već sa ubačenim vrednostima promenljivih.

Za to, da bismo transformisali niz u promenljive, koristimo specijalnu funkciju 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);    // niz u promenljive
        include $viewPath; // povezujemo fajl sa predstavljanjem
      return ob_get_clean();
    }
  }
?>