關於網上大多MVC的簡介我就不再多說,就是Model(模型)View(視圖) C(控制器)這里作為一個剛入門PHP MVC框架的我,這里我搭建一個最簡易的mvc項目,從而理解MVC
1在apache服務器蝦搭建項目文件體系
MyMVC
Model
model.php
View
index.php
Control
indexControl.php
index.php
在我們一般理解的路徑中我們需要訪問一個頁面,例如A.php需要輸入類似於localhost://demo/project/A.php這樣的目錄結構,訪問B.php再輸入localhost://demo/project/B.php
但是在MVC模式中,我們采用單一文件入口,即都從項目文件最外層的index.php開始,通過URL后帶不同參數提交不同控制器,控制器再訪問不同頁面,下面通過一個案例來理解
1設計一個簡易的PHP MVC模式,用戶通過在URL種輸入地址以及ID參數,即可查詢該ID對應的學生姓名
學生數組為
ID |
Name |
01 |
Tom |
02 |
Jack |
03 |
Lisa |
1搭建項目文件體系,文件體系和上面一樣
2搭建模型層model.php,一般模型層負責處理數據,定義數據結構和屬性,這里我們定義一個學生數組,並且定義一個訪問數組方法,這個類似於javaweb中的javabean
<?php
class Model{
public $data=array(
'01'=>'Tom',
'02'=>'Jack',
'03'=>'Lisa',
);
public function getid($key){
return $this->data[$key];
}
}
3書寫視圖層View中index.php,index.php負責輸出顯示數據,注意我們需要通過不同ID來顯示不同Name,所以index.php中定義的display()方法中應該接受一個動態的$output,
<?php
class Index{
public function display($output){
echo $output;
}
}
4配置單一入口文件index.php
<?php
require 'cont/control.php';//引入控制器文件
$ID=$_GET['ID'];
$show=new Control();
$show->showcontrol($ID);//調用控制器方法
5控制器文件control.php
<?php
class Control{
function showcontrol($ID){
require 'view/index.php';
require 'model/model.php';
$view=new Index();
$model=new Model();
$data=$model->getid($ID);
$view->display($data);
}
}
至此一個簡單的PHP MVC項目搭建完成了!
在瀏覽器中輸入http://localhost/demo/simpleMVC/index.php?ID=02即可!取得名字jack