这里先介绍一个软件设计的编程模式:MVC
MVC 全名是 Model View Controller,是模型 (model)-视图(view)-控制器(controller) 的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。
借鉴这一点,我们在编写 PHP 网页程序时,如果将 PHP 业务逻辑和页面展示分离,可以让程序的结构更为清晰,有助于开发和维护。
小实践
原始的编码文件内容如下:
// ~/project/index.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
header {
background: #e3e3e3;
padding: 2em;
text-align: center;
}
</style>
</head>
<body>
<header>
<h1>
<?php echo "Hello, " . htmlspecialchars($_GET['name']); ?>
</h1>
</header>
</body>
</html>
新建一个 index.view.php
文件,内容如下:
// ~/project/index.view.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
header {
background: #e3e3e3;
padding: 2em;
text-align: center;
}
</style>
</head>
<body>
<header>
<h1>
<?php echo $greeting; ?>
</h1>
</header>
</body>
</html>
将原有的 index.php
内容更改为:
// ~/project/index.php
<?php
$greeting = "Hello, " . htmlspecialchars($_GET['name']);;
require "index.view.php";
打开终端运行:php -S localhost:8000
打开浏览器地址栏访问:http://localhost:8000/?name=Jacob
可以看到,这和之前的效果一样。
没错,这样就完成了逻辑和显示的分离,编码的层次变得更为清晰了。
觉得如何呢?