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

基于MVC的ThinkPHP5框架研究

2020-01-03 10:09:02李秀珍
現代信息科技 2020年14期
關鍵詞:模型

摘? 要:ThinkPHP5是一款基于MVC三層架構的輕量級Web框架。它在ThinkPHP3.2版本之上重新改進了底層架構,提升了開發者使用體驗。文章依據MVC三層架構思想,對ThinkPHP5數據模型的創建調用、控制器層前置操作的使用以及視圖層網頁模板布局進行了研究,并結合實際工作經驗,總結了ThinkPHP5的優缺點,提出了ThinkPHP5后續改進措施。

關鍵詞:MVC;ThinkPHP5;框架;模型

Abstract:Thinkphpp5 is a lightweight Web framework based on MVC three-tier architecture. On the foundation of ThinkPHP3.2,it has improved the underlying architecture and enhanced the developer taste. Based on the idea of MVC three-tier architecture,this paper studies the creation and call of ThinkPHP5 data model,the use of front-end operation of controller layer and the layout of web page template in view layer. Combined with practical work experience,it summarizes the advantages and disadvantages of ThinkPHP5,and puts forward the follow-up improvement measures of ThinkPHP5.

Keywords:MVC;ThinkPHP5;framework;model

0? 引? 言

隨著網絡的不斷發展,通過瀏覽器發布程序日益流行,所以Web開發的地位不斷提高。PHP作為Web開發的眾多工具之一,有著得天獨厚的條件,其既可以和前端代碼一起編寫,又可以后臺處理數據,所以PHP一度成為“程序員最喜歡的編程語言”。

Web框架是指Web開發過程中文件、路由配置、數據庫等資源固定的組織形式。ThinkPHP是基于PHP的框架之一,它的模式為開發人員節省了重寫代碼的時間。MVC既是編程思想,也是業務邏輯,M(Model)是數據層,V(View)是視圖層,C(Controller)控制層,該思想將上述三層進行分離,允許單層修改而不影響其他層。

基于MVC的ThinkPHP框架主動借鑒其他優秀框架的特性,使其自身不斷強大,用戶量也與日俱增。因ThinkPHP是開源社區代碼,發現缺點并加以改進方能使其長盛不衰。文章基于上述背景,對ThinkPHP三層架構進行了研究,希望對初學者有一些幫助。

1? ThinkPHP框架介紹

1.1? ThinkPHP的發展歷史

ThinkPHP框架(原名FCS),由上海頂想信息科技有限公司開發和維護,基于MVC三層架構,遵循Apache 2開源協議發布,是為Web應用快速開發而打造的一款輕量級Web框架。[1]

ThinkPHP5版發布后,ThinkPHP3.2.2已經停止更新。在現階段企業開發中,ThinkPHP5應用較多,受到較多開發者的青睞。

1.2? ThinkPHP5框架目錄

Application為應用目錄,大部分開發均在此目錄下。ThinkPHP5支持多模塊,在Application目錄下可以新建其他模塊,如Admin模塊,在Admin里面再新建Controller、Model、View三層架構。

Public為公共目錄,該目錄下的Index.php是ThinkPHP5的入口文件,所有訪問均從此文件開始。Config為配置目錄,可以進行慣例配置、應用配置、應用擴展配置、應用場景配置、模塊配置、模塊擴展配置、模塊應用配置、動態配置,上述配置優先級依次增大。Runtime為運行時目錄,存放網站運行產生的日志以及臨時文件。Extend為擴展目錄,用于存放第三方類庫。ThinkPHP為框架核心文件目錄,此目錄里的Library目錄下的Think文件夾里面的內容為ThinkPHP5自帶的類文件,包括Model類、DB類、View類等等。Vendor是Composer安裝過程中生成的目錄,通過Composer安裝的所有類庫都被安裝在這個目錄中。

2? MVC的概念

MVC的全名是Model-View-Controller,是模型層(Mo- del)-視圖層(View)-控制層(Controller)的縮寫。它是一種基于Web應用程序的框架模式,將應用程序的輸入、處理和輸出強制分開。[2]

模型層主要負責對數據庫的數據進行CURD操作。視圖層通常根據模型層的數據創建不同用戶的顯示。控制層根據視圖層讀取的數據控制用戶的輸入。[3]

3? MVC在ThinkPHP5中的應用

3.1? Model層

3.1.1? 模型創建

模型是對實體的抽象描述,快速直觀地展示出實體的特征。ThinkPHP5中,一個模型是數據庫里的一個表的抽象,核心基類庫存放在Model.php文件中[4]。在應用模塊下創建模型目錄Model,并在該目錄下創建與數據表同名的類文件,在類文件中添加如下代碼(假設在數據庫中存在一個名為Employee的表,字段為id、name、age、dept,用于存放員工的id、姓名、年齡和部門):

模型創建成功后會自動繼承基類Model中所有的屬性和方法。

3.1.2? 模型調用

模型可以采用實例化調用和靜態調用。實例化調用即在控制器中創建模型對象,然后用模型對象處理相關業務。靜態調用是通過靜態查詢直接將一個空模型轉為數據模型,再調用相關方法完成數據操作。

3.2? 控制層

控制層用于讀取視圖層內容、完成用戶輸入、處理數據模型。默認的訪問控制層為app\index\controller\Index.php[5]。ThinkPHP5的默認入口文件即為Index.php文件。在此文件中我們可以利用前置操作來完成對某些屬性的賦值。前置操作,顧名思義,即在某些函數執行之前需要執行的操作。使用該操作,必須要繼承基類Controller,因基類Controller對該操作進行了定義。我們可以在Index.php文件中鍵入以下代碼完成前置操作的定義和使用:

該前置操作除了example1和example3操作外,其他都有效。前置操作存在的根本目的是為了項目規范、方便擴展。

3.3? 視圖層

視圖層主要展示數據加載到網頁的效果,所以網頁的模板布局顯得尤為重要。在ThinkPHP5中模板布局有三種方式,分別是全局配置、模板中配置、控制器里配置[6]。

3.3.1? 全局配置

全局配置即在Config文件中開啟全局模板布局,需要通過以下數組中的鍵值對進行配置:

當使用該方式進行網頁布局時,模板渲染流程為控制器—>布局模板—>用戶模板。

3.3.2? 模板中配置

使用該方式進行模板渲染時,首先需要關閉全局配置,防止布局配置重復。然后在View目錄下創建自定義布局文件,最后在模板中使用以下代碼:

3.3.3? 控制器里配置

在控制器里面動態控制模板布局模式,代碼如下:

當參數為true時,采用默認布局模板:layout.html;當參數為false時,臨時關閉當前模板布局;當參數為文件名時,即采用用戶自定義布局模板。

三種布局配置方式,全局配置和控制器里配置是在程序中實現模板布局,但模板中配置方式僅單純通過模板標簽實現在模板中使用布局,應根據項目的實際情況選擇采用何種方式。

4? 實際應用

“智慧校園”已經成為高校發展質量的重要標志之一,而“智慧校園”的體現則是管理與教學的網絡化。隨著系統的不斷增多,后臺維護工作日益繁瑣,為了能夠簡化網站模塊維護流程,作者開發了與我校校園網相關的后臺管理系統,因連接校園網需要數據對接,現后臺管理系統未進行實際應用,基于MVC的ThinkPHP5的后臺管理系統如圖1所示。

在Admin文件中基于MVC三層架構設置的模塊如圖3所示。

通過上圖我們可以看出,模塊定義布局、應用定義功能,增加模塊不需要增寫代碼,只需要按照后臺管理系統的模板添加內容即可。所有代碼均被封裝在三層架構之中,層內代碼的修改不會影響其他層的數據及展示效果。基于MVC三層架構的ThinkPHP5使網站易于維護和擴展。

5? 結? 論

綜合上述ThinkPHP5的研究,基于MVC三層架構使得ThinkPHP5減少了對核心基類庫的依賴,提高了代碼的簡潔性。但同時需要注意,ThinkPHP5在數據模型的創建和調用過程中,需要手動關聯數據庫。模板布局模式眾多但不支持繼承,不方便前端網頁輸出。在后續改進中,可以對模型操作加以改進,創建自動關聯數據庫模型,模板布局中引入繼承機制,與前端代碼相結合,提高代碼復用性。

參考文獻:

[1] 龔翔,張清.基于ThinkPHP的通用CMS系統解決方案 [J].海峽科技與產業,2017(5):101-102.

[2] 劉袁,黃浩光,胡小寶.基于ThinkPHP的校園二手交易平臺設計與實現 [J].計算機時代,2018(10):26-28+31.

[3] 常娜.基于ThinkPHP5框架的博客設計與開發 [J].數字技術與應用,2017(10):171-172.

[4] 鄭俊生,姜敏.一種基于MVC模式Web開發框架WebWork的研究 [J].福建電腦,2008(08):120+132.

[5] 王昭英.基于MVC設計模式的ThinkPHP框架的研究與應用 [D].西安:西安建筑科技大學,2010.

[6] 張曉鋒.基于MVC設計模式的WEB開發框架的研究及應用 [D].重慶:重慶郵電大學,2007.

作者簡介:李秀珍(1986.12—),女,漢族,山東濰坊人,助教,碩士研究生,研究方向:計算機應用、軟件開發。

猜你喜歡
模型
一半模型
一種去中心化的域名服務本地化模型
適用于BDS-3 PPP的隨機模型
提煉模型 突破難點
函數模型及應用
p150Glued在帕金森病模型中的表達及分布
函數模型及應用
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
3D打印中的模型分割與打包
主站蜘蛛池模板: 国产一级α片| 欧美日本二区| 欧美性精品不卡在线观看| 色噜噜在线观看| 国产午夜不卡| 欧美第九页| 亚洲精品自拍区在线观看| 99精品国产电影| 亚洲精品成人7777在线观看| 极品国产一区二区三区| 美美女高清毛片视频免费观看| 国产亚洲成AⅤ人片在线观看| 在线99视频| 波多野结衣无码中文字幕在线观看一区二区 | 国产手机在线小视频免费观看| 四虎永久免费在线| 久久不卡精品| 特级毛片8级毛片免费观看| 亚洲精品日产AⅤ| 在线色国产| 99re视频在线| 成人欧美日韩| 日韩精品一区二区三区大桥未久| 免费无码网站| 91九色国产在线| 中文字幕永久在线观看| 99热这里只有免费国产精品| 日韩在线第三页| 国产视频一区二区在线观看| 日韩一级二级三级| 欧美精品亚洲精品日韩专区va| 情侣午夜国产在线一区无码| 红杏AV在线无码| 欧美国产日韩在线播放| 精品欧美日韩国产日漫一区不卡| 久久大香伊蕉在人线观看热2| 98精品全国免费观看视频| 国产免费一级精品视频 | 中文字幕无码av专区久久| 国产男女XX00免费观看| 日韩在线1| 亚洲成网777777国产精品| 欧美人与动牲交a欧美精品| 日本影院一区| 久久精品人人做人人爽97| 国产自在线播放| 久久精品国产精品一区二区| 三级国产在线观看| 亚洲综合精品香蕉久久网| 中文字幕 91| 欧美日本激情| 亚洲精品在线影院| 亚洲黄网视频| 香蕉久久国产超碰青草| 亚洲天堂网视频| 久草视频一区| 国产永久在线视频| 伊人激情综合网| 88国产经典欧美一区二区三区| 色婷婷视频在线| 男女男精品视频| 国产精品短篇二区| 丝袜无码一区二区三区| 欧美国产日韩在线观看| 在线色国产| 亚洲swag精品自拍一区| 一级黄色网站在线免费看| 亚洲愉拍一区二区精品| 国产精品自在在线午夜区app| 天天综合色网| 国产又爽又黄无遮挡免费观看| 国产乱子伦精品视频| 婷婷六月综合| 97青草最新免费精品视频| 成人午夜福利视频| 欧美高清国产| 欧美一级视频免费| 激情影院内射美女| 亚洲午夜综合网| 欧美一区二区三区国产精品| 国产91视频免费观看| 国产精品免费入口视频|