renderView-metoden for ditt eget MVC-rammeverk

Metoden renderView vil hente en visningsfil og sette inn verdiene til variablene. Dette gjøres på en smart måte. Som du vet, er variablene som brukes i visningsfilen, inneholdt i egenskapen data til objektet i klassen Page.

Disse variablene er en assosiativ array. Vi må gjøre om denne arrayen til ekte variabler, og deretter inkludere visningsfilen via include. I dette tilfellet vil de tilgjengelige variablene i denne filen få sine verdier og vi vil få HTML-kode på utgangen med de innsatte variabelverdiene.

For å konvertere arrayen til variabler, bruker vi den spesielle funksjonen 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 til variabler
        include $viewPath; // inkluderer visningsfilen
      return ob_get_clean();
    }
  }
?>