在这个系列中之前的实践中,我们增加了很多代码,这里接下来要优化一下视图部分,好让真个程序的看起来更棒。
首先关注一下目录 views
下的内容:
这里有几个不同的页面,它们有相似之处和不同之处,我们打算将相同之处提取出来,以便以后视图调整的时候不同更改多处。
开始实践
首先 views/index.view.php
:
<?php require('partials/head.php'); ?>
<h1>My Tasks</h1>
<ul>
<?php foreach ($tasks as $task) : ?>
<li>
<?php if ($task->completed) : ?>
<strike><?= $task->description; ?></strike>
<?php else: ?>
<?= $task->description; ?>
<?php endif; ?>
</li>
<?php endforeach; ?>
</ul>
<?php require('partials/footer.php'); ?>
我们将网页分为了 头部 head
,中部 content
,底部 footer
三个部分,首页 index.php
通过 require
引入了通用部分头部和底部。
让我们在 views/partials
目录下分别建立文件。
文件 head.php
:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<link rel="stylesheet" type="text/css" href="//www.greatytc.com/public/css/style.css">
</head>
<body>
<?php require('nav.php'); ?>
文件 nav.php
:
<nav>
<ul>
<li><a href="/">Home</a></li>
<li><a href="/about">About Page</a></li>
<li><a href="/about/culture">About our Culture</a></li>
<li><a href="/contact-our-company">Contact Page</a></li>
</ul>
</nav>
文件 footer.php
:
</body>
</html>
因为导航 nav.php
的内容是在所有页面都用到的,所以被定义一个独特部分同时也可以灵活修改。通过将页面分割成不同部分灵活的部分引入进来可以让视图更为灵活清晰。这也是通过模板视图来定义更为复杂显示的基础。