offline version v3
Запись на курсы по HTML, CSS, JavaScript, PHP, фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
⊗ppOpDFmRVw 175 of 179 menu

Метод renderVie для своего MVC фреймворке

Метод renderView будет получать файл представления и подставлять в него значения переменных. Это делается хитрым образом. Как вы знаете, переменные, которые используются в файле с представлением, содержатся в свойстве data объекта класса Page.

Эти переменные представляют собой ассоциативный массив. Нам нужно превратить этот массив в настоящие переменные, а затем подключить файл с представлением через 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(); } } ?>