Metodo renderVie per il proprio framework MVC

Il metodo renderView otterrà il file della vista e sostituirà in esso i valori delle variabili. Questo viene fatto in modo astuto. Come sapete, le variabili utilizzate nel file della vista sono contenute nella proprietà data dell'oggetto della classe Page.

Queste variabili rappresentano un array associativo. Dobbiamo trasformare questo array in variabili reali, e poi includere il file della vista tramite include. In questo caso le variabili disponibili in questo file riceveranno il loro valore e in output otterremo semplicemente il codice HTML già con i valori delle variabili sostituiti.

Per convertire l'array in variabili, usiamo la funzione speciale 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);    // array in variabili
        include $viewPath; // includiamo il file della vista
      return ob_get_clean();
    }
  }
?>