黃政豪
摘 要:PHP稱為超文本預處理器,是比較流行的網(wǎng)頁程序設計腳本語言。MVC是比較流行的程序設計規(guī)范。本設計講解如何通過PHP腳本語言設計出簡單MVC框架建立網(wǎng)站的方法。
關鍵詞:PHP;MVC;網(wǎng)頁設計
PHP是目前比較流行的網(wǎng)頁程序設計腳本語言。MVC(Model View Controller)是模型、視圖、控制器的縮寫,是一種程序設計規(guī)范,主要目的是分離模型和視圖,通過控制器管理所有的查詢和顯示過程,而且MVC框架編寫的程序更易于擴展,方便日后的功能擴展和維護工作。
1 數(shù)據(jù)模型設計
MVC基本框架需要3個文件,分別是test_model.php、test_controller.php、test_view.php,分別對應模型、控制器、視圖。
首先編寫test_model.php,創(chuàng)建test_model類,包含數(shù)據(jù)庫連接和查詢過程,本實例因篇幅原因簡單用變量代替復雜的數(shù)據(jù)查詢。內(nèi)容如下:
<?php
//建立數(shù)據(jù)模型
class test_model{
protected $text1;
protected $text2;
public function __construct(){
$this->my_mvc();}
/*構建賦值過程,如果需要數(shù)據(jù)庫,那么可以在此連接數(shù)據(jù)庫*/
public function my_mvc(){
$this->text1 = "PHP";
$this->text2 = "MVC";}
//在此生成需要顯示在視圖中的一些數(shù)據(jù)內(nèi)容
public function view_data(){
$view_text = "基于" . $this->text1;
$view_text.= "的" . $this->text2 . "框架";
return $view_text;}
}?>
2 控制器設計
其次編寫的是控制器test_controller.php部分,控制器部分包含通過實例化test_model并用其中的view_data方法得到的數(shù)據(jù),并發(fā)送到視圖中。
<?php
//建立控制器
class test_controller{
function __construct(){
//加載數(shù)據(jù)模型
require_once "test_model.php";
$this->view_data();}
//顯示控制部分,通過數(shù)據(jù)模型獲取數(shù)據(jù)并顯示到視圖中
public function view_data(){
$data_model = new test_model();
/*通過數(shù)據(jù)模型類的view_data方法制作出來的數(shù)據(jù)放到變量中*/
$view_data = $data_model->view_data();
//通過加載視圖文件,將數(shù)據(jù)顯示到視圖中
require_once "test_view.php";}
}?>
3 視圖和首頁設計
視圖是顯示數(shù)據(jù)的部分,只需要使用html編寫規(guī)范設計網(wǎng)頁就可以了。而首頁index.php里加載并調(diào)用控制器就可以了。
test_view.php部分:
<!DOCTYPE html>
<!-- 顯示所查詢到的數(shù)據(jù) -->
<?php echo $view_data; ?>
index.php部分:
<?php
//加載控制器
require_once “test_controller.php";
//實例化控制器類
$test = new test_controller();
?>
至此,所有的代碼部分全部編寫完成,并通過了測試。本文中使用了變量形式的數(shù)據(jù),如果需要連接到數(shù)據(jù)庫,那么須在數(shù)據(jù)模型文件中添加連接數(shù)據(jù)庫的代碼,如果建立更多的功能,可以先建立父類,再去建立具體功能子類繼承父類,這樣就可以更好的減少代碼冗余,提高編寫和維護效率。
參考文獻:
[1]斯克拉(美).PHP經(jīng)典實例[M].中國電力出版社,2009.
[2]楊曉軍. MVC Web開發(fā)學習實錄[M].清華大學出版社,2011.
[3]李開涌.PHP MVC 開發(fā)實戰(zhàn)[M]. 機械工業(yè)出版社,2013.