renderView მეთოდი საკუთარი 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();
}
}
?>