မိမိ၏ MVC Framework အတွက် renderView နည်းလမ်း

<renderView> နည်းလမ်းသည် view file ကို လက်ခံရယူပြီး ၎င်းအတွင်းသို့ ကိန်းရှင်များ၏ တန်ဖိုးများကို အစားထိုးပေးပါမည်။ ဤသို့ပြုလုပ်ရန် နည်းလမ်းတစ်ခုရှိပါသည်။ သင်သိထားသည့်အတိုင်း view file တွင် အသုံးပြုသော ကိန်းရှင်များသည် <Page> class ၏ object ၏ data property အတွင်း၌ ပါဝင်နေပါသည်။

ထိုကိန်းရှင်များသည် associative array တစ်ခုဖြစ်ပါသည်။ ဤ array ကို အမှန်တကယ်သော ကိန်းရှင်များအဖြစ်သို့ ပြောင်းလဲပေးရန် လိုအပ်ပြီး ၎င်းနောက် <include> ဖြင့် view file ကို ချိတ်ဆက်ရန်လိုအပ်ပါသည်။ ဤနည်းဖြင့် ယင်းဖိုင်အတွင်း ရရှိနိုင်သော ကိန်းရှင်များသည် ၎င်းတို့၏တန်ဖိုးများကို ရရှိပြီး ရလဒ်အဖြစ် ကိန်းရှင်များ၏တန်ဖိုးများ အစားထိုးပြီးသော HTML code ကိုသာ ရရှိမည်ဖြစ်သည်။

Array ကို ကိန်းရှင်များအဖြစ်သို့ ပြောင်းလဲရန် <extract> အထူး function ကို အသုံးပြုပါမည်။

/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 မှ ကိန်းရှင်များသို့
        include $viewPath; // view file ကို ချိတ်ဆက်ပါ
      return ob_get_clean();
    }
  }
?>