老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)

如何在PHP項(xiàng)目中實(shí)現(xiàn)一個(gè)MVC框架-創(chuàng)新互聯(lián)

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)如何在PHP項(xiàng)目中實(shí)現(xiàn)一個(gè)MVC框架,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

創(chuàng)新互聯(lián)專注于企業(yè)營銷型網(wǎng)站、網(wǎng)站重做改版、林口網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5網(wǎng)站設(shè)計(jì)商城網(wǎng)站制作、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為林口等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

什么是MVC?


如何在PHP項(xiàng)目中實(shí)現(xiàn)一個(gè)MVC框架

關(guān)于MVC的定義和解釋,可以說多種多樣。我們可以在Wiki或者[2]中找到更為詳盡的解釋,這里我并不打算,也沒有能力進(jìn)行深入的講解,從PHP開發(fā)的角度來講,MVC可以概括為:

視圖(The View):

一說到視圖,我們很多人都會(huì)想到模板引擎(諸如Smarty等等)。其實(shí)就是各種各樣的輸出,比如說html模板和Javascript文件等。

模塊(The Model)

模塊代表了程序的邏輯,在企業(yè)應(yīng)用中通常稱為業(yè)務(wù)邏輯層。一般來講,這一層完成的工作是把原始的數(shù)據(jù)處理成按照我們設(shè)計(jì)的數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)的有意義的數(shù)據(jù)序列,并將這些數(shù)據(jù)交給視圖去處理。通常情況下, 模塊中會(huì)利用一個(gè)數(shù)據(jù)抽象類來進(jìn)行與數(shù)據(jù)操作有關(guān)的處理。

Model通常包含了哪些用來同數(shù)據(jù)庫打交道的函數(shù)。

控制器(The Controller)

控制器使所有WEB應(yīng)用的第一站,他接受收到的參數(shù),比如$_GET變量,然后做出相應(yīng)的反應(yīng)。

關(guān)于MVC的是否適合PHP的爭論也很多,人們不斷的討論MVC是否適合PHP[3],現(xiàn)在也已經(jīng)有了很多的MVC框架,諸如PHP MVC Frameworks中列出的[4]。那么,為什么人們這么熱衷于MVC,我們?yōu)槭裁匆褂肕VC在我們的設(shè)計(jì)中呢。

為什么用MVC?

MVC最早是用來解決桌面GUI的編程問題,最早的MVC框架應(yīng)該是Sun在1999年提出的Model 2,后來演變成了Struts。MVC帶給人們深刻的印象,但是我們在使用的過程中,卻并沒有認(rèn)真的想過為什么使用MVC。

在傳統(tǒng)的桌面應(yīng)用中,一旦Model中有時(shí)間發(fā)生,我們可以主動(dòng)的讓View界面進(jìn)行刷新,從而展示后臺(tái)發(fā)生的變化。而在Web應(yīng)用中,我們似乎限于傳統(tǒng)的 Http的Request/Response的方式,我們似乎沒有辦法讓用戶端進(jìn)行更新。這一段討論,并不是認(rèn)為MVC不能夠用來進(jìn)行WEB應(yīng)用的開發(fā),而是覺得從某種程度上來說,他還不是最合適的。

關(guān)于使用MVC的爭論還有很多[1],但是相信所有習(xí)慣了使用MVC來組織自己的項(xiàng)目的人,讓他選擇一個(gè)新的項(xiàng)目構(gòu)架時(shí),一定不會(huì)放棄MVC。

如何實(shí)現(xiàn)MVC?

下面是一個(gè)超級(jí)簡單的MVC結(jié)構(gòu)實(shí)現(xiàn),甚至連數(shù)據(jù)源都用了一個(gè)內(nèi)置的固定數(shù)組,雖然簡單,但其實(shí)眾多的PHP Framework核心實(shí)現(xiàn)的思想應(yīng)該和這個(gè)是差不多的,只不過一些framework提供了更多的方便開發(fā)者使用的工具,我也想自己來實(shí)現(xiàn)一個(gè)PHP的框架,目前正在著手策劃中,也希望自己能夠從框架的開發(fā)中學(xué)習(xí)到更多的PHP設(shè)計(jì)思想和方法。

Controller.php


include 'Model.php';
include 'View.php';
class Controller {
private $model = '';
private $view = '';
public function Controller(){
$this->model = new Model();
$this->view = new View();
}
public function doAction( $method = 'defaultMethod', $params = array() ){
if( empty($method) ){
$this->defaultMethod();
}else if( method_exists($this, $method) ){
call_user_func(array($this, $method), $params);
}else{
$this->nonexisting_method();
}
}
public function link_page($name = ''){
$links = $this->model->getLinks();
$this->view->display($links);
$result = $this->model->getResult($name);
$this->view->display($result);
}
public function defaultMethod(){
$this->br();
echo "This is the default method. ";
}
public function nonexisting_method(){
$this->br();
echo "This is the noexisting method. ";
}
public function br(){
echo "";
}
}
$controller = new Controller();
$controller->doAction('link_page', 'b');
$controller->doAction();
==================================
Model.php
class Model {
private $database = array(
"a" => "hello world",
"b" => "ok well done",
"c" => "good bye",
);
//@TODO connect the database
//run the query and get the result
public function getResult($name){
if( empty($name) ){
return FALSE;
}
if( in_array($name, array_keys( $this->database ) ) ){
return $this->database[$name];
}
}
public function getLinks(){
$links = "Link A ";
$links.= "Link B ";
$links.= "Link C ";
return $links;
}
}
====================================================
View.php
class View {
public function display($output){
// ob_start();
echo $output;
}
}

上述就是小編為大家分享的如何在PHP項(xiàng)目中實(shí)現(xiàn)一個(gè)MVC框架了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


新聞名稱:如何在PHP項(xiàng)目中實(shí)現(xiàn)一個(gè)MVC框架-創(chuàng)新互聯(lián)
文章轉(zhuǎn)載:http://www.xueling.net.cn/article/ccsdii.html

其他資訊

在線咨詢
服務(wù)熱線
服務(wù)熱線:028-86922220
TOP
主站蜘蛛池模板: 黑人外教啪啪中国女留学生 | 国产精品一区二区在线观看不卡 | 久久久久一 | 亚洲精品美国一 | 动漫人物交性h的视频 | 午夜性刺激免费看视频 | 久久免费视老师机影片 | 免费av成人 | 国产精品1卡2卡3卡4卡 | 麻豆一二三四区乱码 | 狠狠影院| 鲁鲁鲁爽爽爽在线视频观看 | 日韩毛片免费无码无毒视频观看 | 999久久久精品视频 久久久经典视频 | 国产青青在线视频 | 男男在线免费观看 | 在线观看亚洲一区二区 | 亚洲国产一区二区三区在线播放 | 免费高清视频一区二区三区 | 一区二区三区四区激情 | 青青草无码免费一二三区 | 日韩精品亚洲Aⅴ在线影院 暖暖视频免费高清日本 | 国产真实伦在线观看 | 久久久中文 | 两个人看的www免费视频中文 | 色拍拍在线精品视频 | 亚洲成av人片在线观看无码不卡 | 日本五区在线不卡精品 | 日韩欧美精品在线不卡 | 日本精品在线免费观看网址 | 91av社区 | 少妇高潮出水视频 | 亚洲丝袜另类校园欧美 | 欧洲裸体兽交大黑妞 | 给我免费播放片在线中国 | 青青久久久| 久久99精品久久久久久秒播 | 人成午夜大片免费视频 | 欧洲国产一区 | 亚洲国产精品成人av | 国产在线首页 |