A renderView metódus saját MVC keretrendszerhez

A renderView metódus fogja megkapni a nézetfájlt és beilleszti bele a változók értékeit. Ez ravasz módon történik. Amint tudják, a nézetfájlban használt változók a Page osztály objektumának data tulajdonságában találhatók.

Ezek a változók egy asszociatív tömböt jelentenek. Ezt a tömböt valódi változókká kell alakítanunk, majd a include segítségével kell behúznunk a nézetfájlt. Ebben az esetben a fájlban elérhető változók megkapják az értékeiket, és a kimeneten már csak a HTML kódot kapjuk a beillesztett változóértékekkel.

Ahhoz, hogy a tömböt változókká alakítsuk, használjuk a extract speciális függvényt:

/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);    // tömb változókká
        include $viewPath; // behúzzuk a nézetfájlt
      return ob_get_clean();
    }
  }
?>