999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種基于PHP實(shí)現(xiàn)MVC模式的方法

2020-11-02 02:36:18高麗
電腦知識與技術(shù) 2020年26期

高麗

摘要:為了提高軟件開發(fā)中代碼的質(zhì)量、效率,框架結(jié)構(gòu)在Web應(yīng)用開發(fā)中已經(jīng)被廣泛地應(yīng)用。MVC模式將業(yè)務(wù)邏輯、數(shù)據(jù)、顯示進(jìn)行分離,極大提高Web應(yīng)用程序的可用性和可維護(hù)性。該文通過PHP語言實(shí)現(xiàn)MVC模式。

關(guān)鍵詞:PHP;MVC模式;實(shí)現(xiàn)方法

中圖分類號:TP3? ? ? ? 文獻(xiàn)標(biāo)識碼:A

文章編號:1009-3044(2020)26-0203-02

開發(fā)互聯(lián)網(wǎng)中,采用基于B/S模式實(shí)現(xiàn)Web應(yīng)用程序,用戶界面通過瀏覽器實(shí)現(xiàn),系統(tǒng)功能集中到服務(wù)器上。PHP具有跨平臺性的多用途腳本語言,因?yàn)榫庉嫼唵巍?shí)用性強(qiáng)、業(yè)務(wù)框架多等特點(diǎn)成為當(dāng)前的適合Web開發(fā)的熱門語言。在PHP中使用MVC越來越流行了,尤其一些開源的框架中,有利于Web應(yīng)用程序的管理和維護(hù),提高開發(fā)效率。

1 MVC模式

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ā)展起來用于映射傳統(tǒng)的輸入、處理和輸出功能在一個(gè)邏輯的圖形化用戶界面的結(jié)構(gòu)中。MVC工作原理如圖1所示。

其中Model(模型)是應(yīng)用程序中用于處理應(yīng)用程序數(shù)據(jù)邏輯的部分,通常模型對象負(fù)責(zé)在數(shù)據(jù)庫中存取數(shù)據(jù)。View(視圖)是應(yīng)用程序中處理數(shù)據(jù)顯示的部分,依據(jù)模型數(shù)據(jù)而創(chuàng)建。Controller(控制器)是應(yīng)用程序中處理用戶交互的部分,主要負(fù)責(zé)從視圖讀取數(shù)據(jù),控制用戶輸入,并向模型發(fā)送數(shù)據(jù)。MVC模式使得代碼分層、分類,開發(fā)和設(shè)計(jì)的工作相對獨(dú)立。

2 MVC框架的分析與實(shí)現(xiàn)

2.1 MVC在PHP中的功能

Model(模型),主要實(shí)現(xiàn)程序的應(yīng)用功能和邏輯,在PHP中主要負(fù)責(zé)數(shù)據(jù)的生成和管理;view(視圖),負(fù)責(zé)輸出,處理是怎樣調(diào)用模板以及資源文件;controller(控制器),負(fù)責(zé)轉(zhuǎn)發(fā)請求并處理,決定調(diào)用的視圖和使用的數(shù)據(jù)。

2.2 MVC在PHP中的實(shí)現(xiàn)

為了解決一類共同問題總結(jié)出來的一套可復(fù)用的解決方案,這是軟件設(shè)計(jì)模式產(chǎn)生的初衷。不管是客戶端還是移動端,MVC的分層設(shè)計(jì)模式解決了軟件開發(fā)中的可復(fù)用、單一職責(zé)、解耦的問題,PHP語言中的MVC設(shè)置模式也是如此。在MVC基本原理模型中展示了模型、視圖與控制器的關(guān)系與作用,但是在實(shí)際開發(fā)設(shè)計(jì)時(shí),還需要設(shè)計(jì)其基于PHP的實(shí)際模型,繼而真實(shí)的在Web程序開發(fā)時(shí)應(yīng)用MVC模式,基于PHP的MVC工作原理如圖2所示。

2.2.1 URL訪問方式:單一入口

模式采用單一入口,約定請求頁面時(shí)的URL,利用它來確定文件在系統(tǒng)中的具體位置,從根本上穩(wěn)定系統(tǒng)和提高安全性。單一的入口使得系統(tǒng)更便捷的驗(yàn)證系統(tǒng)身份,不用單獨(dú)分開驗(yàn)證每一個(gè)文件,提高了驗(yàn)證的效率。同時(shí),只需要在入口文件中修改相應(yīng)的規(guī)定來重寫URL。在實(shí)現(xiàn)中,設(shè)定唯一的訪問文件為index.php,如果想要訪問并且得到正確結(jié)果,只能通過這入口文件,其中通過改變參數(shù)來控制訪問的頁面、決定顯示的結(jié)果或者調(diào)用不同的控制器。URL設(shè)置及MVC模式目錄如下圖3-圖4所示。

2.2.2 控制器(Controller)

控制器是連通整個(gè)模式的關(guān)鍵,所以它的設(shè)計(jì)至關(guān)重要。因?yàn)榭蚣苣J讲捎脝我蝗肟冢脩舻乃行畔⒄埱蠖家獜南嗤娜肟谶M(jìn)入,但實(shí)際的數(shù)據(jù)請求由控制器來篩選,并在模型處理完相應(yīng)數(shù)據(jù)后,調(diào)用視圖將回復(fù)數(shù)據(jù)顯示界面,反饋于用戶。實(shí)際開發(fā)時(shí),需要調(diào)取配置文件、加載函數(shù)庫及框架模式中心控制等來完成設(shè)置控制器。在這里控制器文件命名為controller.PHP,其關(guān)鍵代碼實(shí)現(xiàn)過程如下。

2.2.3 視圖(View)

視圖,即用戶界面。對于程序員來說,視圖按照模型中的設(shè)計(jì)信息轉(zhuǎn)換成界面顯示給用戶,在此需要在應(yīng)用程序界面加入一些PHP邏輯處理。在視圖文件view.php中定義了View類,在該類中定義display($output)方法,并在該方法中打印$output的值,用于顯示數(shù)據(jù)。主要代碼如下:

視圖在設(shè)計(jì)時(shí),可以根據(jù)不同的請求來調(diào)用不同的視圖類,以不同的形式顯示數(shù)據(jù)信息,但這些請求不是由視圖來處理,它只是顯示數(shù)據(jù)信息。同樣,也存在多個(gè)視圖同時(shí)在訪問模型,只要信息在該模型中,則會顯示具體內(nèi)容信息,產(chǎn)生視圖。這樣增加了視圖的作用,可以只針對試圖進(jìn)行頁面的設(shè)計(jì)。

2.2.4 模型(Model)

模型的功能主要是處理不同信息的請求,配合控制器完成工作。利用面向?qū)ο筮M(jìn)行編碼,模型在一個(gè)PHP 應(yīng)用程序中,通常是一個(gè)類(或多個(gè))。一般這個(gè)類是處理或保存數(shù)據(jù)表。在模型文件model.php中定義了Model類,在該類中定義getData()方法,用于請求數(shù)據(jù)的返回。主要代碼如下:

2.2.5 運(yùn)行時(shí)(Runtime)

在入口文件中定義參數(shù),使得控制器根據(jù)不同的參數(shù)獲取不同的數(shù)據(jù)。控制器中包含需要的視圖和模型文件,根據(jù)模型中定義的對象調(diào)用數(shù)據(jù),再通過視圖對象輸出調(diào)用的數(shù)據(jù)。

3 結(jié)束語

本文利用PHP以一簡單案例闡述了MVC設(shè)計(jì)模式的實(shí)現(xiàn)方法。MVC是一種優(yōu)秀的設(shè)計(jì)模式,代碼更易于理解。如要改變一些信息在顯示界面,只需要修改View層程序,如數(shù)據(jù)庫結(jié)構(gòu)發(fā)生變化,只需要更改Model 層程序。讓基于面向?qū)ο蟮腤eb開發(fā)變得更有效率。

參考文獻(xiàn):

[1] 張睿涵.基于經(jīng)典MVC架構(gòu)的實(shí)現(xiàn)Web應(yīng)用系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].數(shù)碼世界,2017(4):17-18.

[2] 張偉偉.PHP中MVC模式下類的動態(tài)加載實(shí)現(xiàn)[J].電腦知識與技術(shù),2019,15(34):60-61.

[3] 楊婷婷.PHP開發(fā)中MVC模式的應(yīng)用研究[J].淮南職業(yè)技術(shù)學(xué)院學(xué)報(bào),2019,19(2):84-85.

[4] 閆曉亮,焦素云.MVC模式PHP開發(fā)框架[J].長春工業(yè)大學(xué)學(xué)報(bào),2016,37(6):592-596.

【通聯(lián)編輯:代影】

主站蜘蛛池模板: 国产高清在线观看| 国产欧美视频一区二区三区| 午夜精品久久久久久久99热下载| 毛片久久久| 欧美精品亚洲日韩a| 在线免费不卡视频| 亚洲成a人片| 午夜精品久久久久久久无码软件| 亚洲有无码中文网| 国产日产欧美精品| 国产91av在线| 精品福利一区二区免费视频| 亚洲精品第一在线观看视频| 欧美一区福利| 日韩最新中文字幕| 免费一极毛片| a毛片在线| 在线亚洲小视频| 3p叠罗汉国产精品久久| 亚洲国产看片基地久久1024| 亚洲综合色婷婷| 亚洲系列无码专区偷窥无码| 婷婷在线网站| 秋霞午夜国产精品成人片| 亚洲国产综合精品中文第一| 国产精品尹人在线观看| 2021亚洲精品不卡a| 97超碰精品成人国产| 日韩精品一区二区深田咏美| 香蕉国产精品视频| 欧美精品成人一区二区在线观看| 国模视频一区二区| 一本无码在线观看| 亚洲精品无码高潮喷水A| 久久婷婷六月| 免费在线不卡视频| 人妻免费无码不卡视频| 青青青视频蜜桃一区二区| 欧美亚洲国产日韩电影在线| 国产精品蜜芽在线观看| 一级毛片基地| 国产精品一区在线观看你懂的| 欧美亚洲一二三区| 欧美97色| 亚洲人成网18禁| 国产农村1级毛片| 波多野结衣亚洲一区| 久久国产精品夜色| 在线va视频| 国产成年女人特黄特色毛片免| 18禁黄无遮挡网站| 在线国产欧美| 国产jizzjizz视频| 亚洲视频在线青青| 国产一级毛片yw| 国产精品亚洲日韩AⅤ在线观看| 精品国产免费第一区二区三区日韩| 99青青青精品视频在线| 免费一级毛片不卡在线播放| 国产免费怡红院视频| 国产青榴视频| 精品国产污污免费网站| 在线色国产| 黄色网在线| 国产人成乱码视频免费观看| 日韩欧美亚洲国产成人综合| 色悠久久久| jizz在线观看| 国产精品播放| 亚洲日本中文字幕乱码中文| 88av在线看| 亚洲色成人www在线观看| 国产成人久视频免费| 美女毛片在线| 国产精品永久久久久| 蜜芽国产尤物av尤物在线看| 国产无码网站在线观看| 福利一区在线| 激情影院内射美女| 国产精品v欧美| 欧美一区二区三区国产精品| 国产尤物jk自慰制服喷水|