renderVie metode savam MVC framevorkā

Metode renderView saņems skata failu un aizvietos tajā mainīgo vērtības. Tas tiek darīts gudrā veidā. Kā jūs zināt, mainīgie, kurus izmanto skata failā, atrodas Page klases objekta data īpašībā.

Šie mainīgie ir asociatīvs massīvs. Mums šis massīvs jāpārvērš par īstiem mainīgajiem un pēc tam jāpievieno skata fails ar include. Šajā gadījumā norādītie pieejamie šajā failā mainīgie saņems savu vērtību un izvadē mēs iegūsim vienkārši HTML kodu jau ar aizvietotām mainīgo vērtībām.

Lai pārveidotu massīvu par mainīgajiem, izmanto speciālu 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);    // massīvs mainīgos
        include $viewPath; // pievienojam failu ar skatu
      return ob_get_clean();
    }
  }
?>