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:
<?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();
}
}
?>