Oz MVC framworkində renderView metodu

renderView metodu gorsəlmə faylını alacaq və ona dəyislərin qiymətlərini əlavə edəcək. Bu hiyləgər şəkildə edilir. Bildiyiniz kimi, gorsəlmə faylında istifadə edilən dəyislər, Page sinfinin obyektinin data xassəsində yerləşir.

Bu dəyislər assosiativ massivdir. Bizim bu massivi həqiqi dəyislərə cevirməyimiz lazımdır, sonra isə include vasitəsilə gorsəlmə faylını birləşdirməliyik. Bu halda, bu faylda movcud olan gostərilən dəyislər oz qiymətlərini alacaq və cıxışda biz artıq dəyislərin qiymətləri əlavə edilmiş sadə HTML kodunu alacıq.

Massivi dəyislərə cevirmək ucun xüsusi extract funksiyasından istifadə edirik:

/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);    // massivi dəyislərə
        include $viewPath; // gorsəlmə faylını birləşdiririk
      return ob_get_clean();
    }
  }
?>