《PHP實(shí)戰(zhàn):PHP簡(jiǎn)單的MVC框架實(shí)現(xiàn)方法》要點(diǎn):
本文介紹了PHP實(shí)戰(zhàn):PHP簡(jiǎn)單的MVC框架實(shí)現(xiàn)方法,希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
在PHP中使用MVC越來(lái)越流行了,特別是在一些開(kāi)源的框架當(dāng)中.PHP編程
1.概述PHP編程
MVC全名是Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫,一種軟件設(shè)計(jì)典范,用一種業(yè)務(wù)邏輯、數(shù)據(jù)、界面顯示分離的辦法組織代碼,將業(yè)務(wù)邏輯聚集到一個(gè)部件里面,在改進(jìn)和個(gè)性化定制界面及用戶交互的同時(shí),不需要重新編寫業(yè)務(wù)邏輯.MVC被獨(dú)特的發(fā)展起來(lái)用于映射傳統(tǒng)的輸入、處理和輸出功能在一個(gè)邏輯的圖形化用戶界面的結(jié)構(gòu)中.PHP編程
2.代碼布局PHP編程
PHP編程
PHP編程
3.代碼實(shí)現(xiàn)PHP編程
<?php //function.php //控制器調(diào)用函數(shù) function C($name, $method){ require_once('libs/Controller/'.$name.'Controller.class.php'); //$testController = new testController(); //$testController->show(); eval('$obj = new '.$name.'Controller(); $obj->'.$method.'();'); } //模型調(diào)用函數(shù) function M($name){ require_once('libs/Model/'.$name.'Model.class.php'); eval('$obj = new '.$name.'Model();'); return $obj; } //視圖調(diào)用函數(shù) function V($name){ require_once('libs/View/'.$name.'View.class.php'); eval('$obj = new '.$name.'View();'); return $obj; } //過(guò)濾非法值 function daddslashes($str){ return (!get_magic_quotes_gpc())?addslashes($str):$str; } ?> <?php //test.php /* 第一步 瀏覽者 -> 調(diào)用控制器,對(duì)它發(fā)出指令 第二步 控制器 -> 按指令選取一個(gè)合適的模型 第三步 模型 -> 按控制器指令取相應(yīng)數(shù)據(jù) 第四步 控制器 -> 按指令選取相應(yīng)視圖 第五步 視圖 -> 把第三步取到的數(shù)據(jù)按用戶想要的樣子顯示出來(lái) */ require_once('View/testView.class.php'); require_once('Model/testModel.class.php'); require_once('Controller/testController.class.php'); $testController = new testController(); $testController->show(); ?> <?php //testController.class.php /* 控制器的作用是調(diào)用模型,并調(diào)用視圖,將模型產(chǎn)生的數(shù)據(jù)傳遞給視圖,并讓相關(guān)視圖去顯示 */ class testController{ function show(){ /*$testModel = new testModel(); $data = $testModel->get(); $testView = new testView(); $testView->display($data);*/ $testModel = M('test'); $data = $testModel->get(); $testView = V('test'); $testView->display($data); } } ?> <?php //testModel.class.php /* 模型的作用是獲取數(shù)據(jù)并處理,返回?cái)?shù)據(jù) */ class testModel{ function get(){ return "hello world"; } } ?> <?php //testView.class.php /* 視圖的作用是將獲得的數(shù)據(jù)進(jìn)行組織,美化等,并最終向用戶終端輸出 */ class testView{ function display($data){ echo $data; } } ?>
?運(yùn)行結(jié)果:PHP編程
PHP編程
PHP中的MVCPHP編程
MVC[1]在軟件工程中是一種軟件的架構(gòu).從php的角度來(lái)講MVC有一些分歧.PHP編程
Model(模型),程序應(yīng)用功能的實(shí)現(xiàn),程序的邏輯的實(shí)現(xiàn).在PHP中負(fù)責(zé)數(shù)據(jù)管理,數(shù)據(jù)生成.PHP編程
View(視圖),圖形界面邏輯.在PHP中負(fù)責(zé)輸出,處理如何調(diào)用模板、必要的資源文件.PHP編程
Controller(控制器),負(fù)責(zé)轉(zhuǎn)發(fā)哀求,對(duì)哀求處理.在PHP中根據(jù)哀求決定調(diào)用的視圖及使用的數(shù)據(jù).PHP編程
為什么使用MVCPHP編程
MVC的主要作用是為了將代碼分層、分類.PHP編程
MVC的主要目的是為了辦理Web開(kāi)發(fā)中分離開(kāi)發(fā)與設(shè)計(jì)工作,使其工作相對(duì)獨(dú)立.PHP編程
在這樣的過(guò)程中還發(fā)現(xiàn)了其他的一些優(yōu)點(diǎn),網(wǎng)站的目錄布局更加清晰,網(wǎng)站更易維護(hù)與擴(kuò)展,可以實(shí)現(xiàn)模塊的復(fù)用.PHP編程
維易PHP培訓(xùn)學(xué)院每天發(fā)布《PHP實(shí)戰(zhàn):PHP簡(jiǎn)單的MVC框架實(shí)現(xiàn)方法》等實(shí)戰(zhàn)技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養(yǎng)人才。
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.snjht.com/jiaocheng/8334.html