真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

thinkphp5中MVC分層的含義是什么

這篇文章主要介紹“thinkphp5中MVC分層的含義是什么”,在日常操作中,相信很多人在thinkphp5中MVC分層的含義是什么問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”thinkphp5中MVC分層的含義是什么”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

創(chuàng)新互聯(lián)成立于2013年,先為樂(lè)清等服務(wù)建站,樂(lè)清等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為樂(lè)清企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。

在thinkphp5中,MVC分層指的是模型層、視圖層和控制器層分工合作,邏輯層和表現(xiàn)層進(jìn)行分開(kāi)的操作;模型層負(fù)責(zé)數(shù)據(jù)庫(kù)操作,控制器就是一個(gè)模塊類,根據(jù)url進(jìn)行調(diào)度和操作,視圖用于連接action控制器和模板文件。

本文操作環(huán)境:Windows10系統(tǒng)、ThinkPHP5版、Dell G3電腦。

thinkphp5中MVC分層是什么

MVC,M模型,V視圖,C控制器。

分層,就是分工合作,邏輯層和表現(xiàn)層進(jìn)行分開(kāi)的操作。模型負(fù)責(zé):數(shù)據(jù)庫(kù)操作??刂破鳎喝魏我粋€(gè)WEB操作都是一個(gè)模塊的某個(gè)操作,控制器就是一個(gè)模塊類,根據(jù)url進(jìn)行調(diào)度和操作。視圖(view類和模版文件組成):連接action控制器和模版文件,Action類把數(shù)據(jù)通過(guò)View類傳遞到模板文件,而模板文件把接收到的數(shù)據(jù)轉(zhuǎn)換成相應(yīng)的數(shù)據(jù)格式顯示。

ThinkPHP基于MVC(Model-View-Controller,模型-視圖-控制器)模式,并且均支持多層(multi-Layer)設(shè)計(jì)。

模型(Model)層

默認(rèn)的模型層由Model類構(gòu)成,但是隨著項(xiàng)目的增大和業(yè)務(wù)體系的復(fù)雜化,單一的模型層很難解決要求,多層Model的支持設(shè)計(jì)思路很簡(jiǎn)單,不同的模型層仍然都繼承自系統(tǒng)的Model類,但是在目錄結(jié)構(gòu)和命名規(guī)范上做了區(qū)分。

例如在某個(gè)項(xiàng)目設(shè)計(jì)中需要區(qū)分?jǐn)?shù)據(jù)層、邏輯層、服務(wù)層等不同的模型層,我們可以在模塊目錄下面創(chuàng)建model、logic和service目錄,把對(duì)用戶表的所有模型操作分成三層:

數(shù)據(jù)層:model/User 用于定義數(shù)據(jù)相關(guān)的自動(dòng)驗(yàn)證和自動(dòng)完成和數(shù)據(jù)存取接口

邏輯層:logic/User 用于定義用戶相關(guān)的業(yè)務(wù)邏輯

服務(wù)層:service/User 用于定義用戶相關(guān)的服務(wù)接口等

而這三個(gè)模型操作類統(tǒng)一都繼承\(zhòng)think\Model類即可。

對(duì)模型層的分層劃分是很靈活的,開(kāi)發(fā)人員可以根據(jù)項(xiàng)目的需要自由定義和增加模型分層,你也完全可以只使用Model層。

視圖(View)層

視圖層由模板和模板引擎組成,在模板中可以直接使用PHP代碼,模板引擎的設(shè)計(jì)會(huì)在后面講述,通過(guò)驅(qū)動(dòng)也可以支持其他第三方的模板引擎。視圖的多層可以簡(jiǎn)單的通過(guò)目錄區(qū)分,例如:

view/default/user/add.html
view/blue/user/add.html

復(fù)雜一點(diǎn)的多層視圖還可以更進(jìn)一步,采用不同的視圖目錄來(lái)完成,例如:

view 普通視圖層目錄

mobile 手機(jī)端訪問(wèn)視圖層目錄

控制器(Controller)層

ThinkPHP的控制器層由核心控制器和業(yè)務(wù)控制器組成,核心控制器由系統(tǒng)內(nèi)部的App類完成,負(fù)責(zé)應(yīng)用(包括模塊、控制器和操作)的調(diào)度控制,包括HTTP請(qǐng)求攔截和轉(zhuǎn)發(fā)、加載配置等。業(yè)務(wù)控制器則由用戶定義的控制器類完成。多層業(yè)務(wù)控制器的實(shí)現(xiàn)原理和模型的分層類似,例如業(yè)務(wù)控制器和事件控制器:

controller/User //用于用戶的業(yè)務(wù)邏輯控制和調(diào)度
event/User //用于用戶的事件響應(yīng)操作

controller\User負(fù)責(zé)外部交互響應(yīng),通過(guò)URL請(qǐng)求響應(yīng),例如 http://serverName/User/index,而 event\User 負(fù)責(zé)內(nèi)部的事件響應(yīng),并且只能在內(nèi)部調(diào)用,所以是和外部隔離的。多層控制器的劃分也不是強(qiáng)制的,可以根據(jù)應(yīng)用的需要自由分層??刂破鞣謱永锩婵梢愿鶕?jù)需要調(diào)用分層模型,也可以調(diào)用不同的分層視圖。

到此,關(guān)于“thinkphp5中MVC分層的含義是什么”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!


分享文章:thinkphp5中MVC分層的含義是什么
分享鏈接:http://weahome.cn/article/pegspj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部