renderView մեթոդը սեփական MVC ֆրեյմվորքում
renderView մեթոդը կստանա ներկայացման ֆայլը
և կտեղադրի դրա մեջ փոփոխականների արժեքները։
Դա արվում է խորամանկ կերպով։
Ինչպես գիտեք, ներկայացման ֆայլում օգտագործվող
փոփոխականները պարունակվում են Page դասի օբյեկտի
data հատկության մեջ։
Այս փոփոխականները ներկայացնում են ասոցիատիվ
զանգված։ Մենք պետք է այդ զանգվածը վերածենք
իսկական փոփոխականների, ապա միացնենք
ներկայացման ֆայլը include-ի միջոցով։
Այս դեպքում այդ ֆայլում հասանելի նշված
փոփոխականները կստանան իրենց արժեքը և
ելքում մենք կստանանք պարզապես HTML կոդ՝
արդեն փոփոխականների տեղադրված արժեքներով։
Զանգվածը փոփոխականների վերածելու համար
օգտագործում ենք հատուկ ֆունկցիա extract։
<?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); // զանգվածը փոփոխականների
include $viewPath; // միացնում ենք ներկայացման ֆայլը
return ob_get_clean();
}
}
?>