Mã nguồn hoàn chỉnh của lớp View trong MVC framework tự xây dựng
Hãy tổng hợp toàn bộ mã nguồn của chúng ta lại với nhau:
<?php
namespace Core;
class View
{
public function render(Page $page) {
return $this->renderLayout($page, $this->renderView($page));
}
private function renderLayout(Page $page, $content) {
$layoutPath = $_SERVER['DOCUMENT_ROOT'] . "/project/layouts/{$page->layout}.php";
if (file_exists($layoutPath)) {
ob_start();
$title = $page->title;
include $layoutPath;
return ob_get_clean();
}
}
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();
}
}
}
?>
Hãy phân tích mã nguồn của lớp View được cung cấp.
Sau đó, tự mình thực hiện một lớp tương tự mà không xem mã
của tôi. Kiểm tra hoạt động của nó.