這里先介紹一個軟件設(shè)計(jì)的編程模式:MVC
MVC 全名是 Model View Controller,是模型 (model)-視圖(view)-控制器(controller) 的縮寫,一種軟件設(shè)計(jì)典范,用一種業(yè)務(wù)邏輯、數(shù)據(jù)、界面顯示分離的方法組織代碼,將業(yè)務(wù)邏輯聚集到一個部件里面,在改進(jìn)和個性化定制界面及用戶交互的同時,不需要重新編寫業(yè)務(wù)邏輯。MVC被獨(dú)特的發(fā)展起來用于映射傳統(tǒng)的輸入、處理和輸出功能在一個邏輯的圖形化用戶界面的結(jié)構(gòu)中。
借鑒這一點(diǎn),我們在編寫 PHP 網(wǎng)頁程序時,如果將 PHP 業(yè)務(wù)邏輯和頁面展示分離,可以讓程序的結(jié)構(gòu)更為清晰,有助于開發(fā)和維護(hù)。
小實(shí)踐
原始的編碼文件內(nèi)容如下:
// ~/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 文件,內(nèi)容如下:
// ~/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 內(nèi)容更改為:
// ~/project/index.php
<?php
$greeting = "Hello, " . htmlspecialchars($_GET['name']);;
require "index.view.php";
打開終端運(yùn)行:php -S localhost:8000
打開瀏覽器地址欄訪問:http://localhost:8000/?name=Jacob
可以看到,這和之前的效果一樣。
沒錯,這樣就完成了邏輯和顯示的分離,編碼的層次變得更為清晰了。
覺得如何呢?