欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

?ThinkPHP基礎(chǔ)概況和Web服務(wù)端開發(fā)中常用的MVC結(jié)構(gòu)示例-創(chuàng)新互聯(lián)

這篇文章給大家分享的是有關(guān)ThinkPHP基礎(chǔ)概況和Web服務(wù)端開發(fā)中常用的MVC結(jié)構(gòu)示例的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

10年積累的網(wǎng)站設(shè)計制作、做網(wǎng)站經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有福鼎免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

ThinkPHP的基礎(chǔ)概況和Web服務(wù)端開發(fā)中常用的MVC結(jié)構(gòu)。

一、入口文件

在瀏覽器中輸入了 http://localhost/tp5_demo/public/


這個URL表示了訪問htdocs文件夾下的/tp5_demo/public/index.php文件,這是為什么呢,我們下面來一步步分解。

當(dāng)我們輸入 http://localhost 的時候,Apache就會訪問其httpd.conf文件下指定的DocumentRoot路徑,在趙童鞋這里就是E:/xampp7/htdocs。

而在后面拼接/tp5_demo/public的意思就是訪問DocumentRoot路徑下的/tp5_demo/public文件夾。

那么最終為什么會定位到index.php文件呢?這是因為httpd.conf文件里有另一個屬性定義DirectoryIndex,這個屬性中就定義了index.php、index.html等文件作為入口文件。(啥?你說為啥沒圖?自己翻你們的httpd.conf文件去)

而在ThinkPHP中,如果沒有指定訪問地址,默認(rèn)就會路由到index模塊下的Index控制器中的index()方法。

也就是說,輸入

http://localhost/tp5_demo/public/

http://localhost/tp5_demo/public/index/index/index

是同樣的效果。

二、控制器(Controller)

在MVC架構(gòu)中,控制器一般只負(fù)責(zé)如下功能:

參數(shù)校驗

調(diào)用服務(wù)

調(diào)用模型

輸出結(jié)果

在ThinkPHP框架中建立控制器只需要在對應(yīng)的模塊中的controller模塊中新建一個類。

?ThinkPHP基礎(chǔ)概況和Web服務(wù)端開發(fā)中常用的MVC結(jié)構(gòu)示例

如上圖則表示在index模塊中建立了Index控制器。

而Index控制器下的index()方法即代表一個Action,在API開發(fā)中也就是一個接口,可以通過配置框架的路由URL進行綁定。

需要注意的是,Action中其實不應(yīng)該出現(xiàn)太多的邏輯操作,Action應(yīng)該只是作為模型層(Model)和視圖層(View)的一個調(diào)用者,實際的邏輯操作應(yīng)該是放到模型層去進行處理,更復(fù)雜的邏輯應(yīng)該放在服務(wù)層(Service)去進行處理,這種分層的思想就是所謂的面向切面編程(AOP)。

這樣做的好處就是當(dāng)某個通用操作(如用戶登錄、計算活動金額)發(fā)生變化的時候,只需要在模型中修改代碼,并不會影響到調(diào)用模型的控制器代碼。

而如果把邏輯都放在控制器中,那么一旦需要修改代碼的時候,就要把所有關(guān)聯(lián)到的控制器代碼全部修改一遍。

見過把所有邏輯放在控制器,完全不用模型的項目,寫的時候不需要考慮分層,不需要考慮迭代,爽得很。

三、模型(Model)

模型定義一般為一個模型類對應(yīng)一個數(shù)據(jù)表。

服務(wù)端開發(fā)中大部分的邏輯操作其實就是在Select/Create/Update/Delete各種數(shù)據(jù)表。

一些簡單的邏輯操作,如:獲取ID為75的文章數(shù)據(jù)。應(yīng)該放在模型中封裝為一個方法,在控制器層去進行調(diào)用。

ThinkPHP框架為模型提供了許多便捷功能,如:隱藏字段、字段修改器、分頁查詢、定義關(guān)聯(lián)關(guān)系。

我們會在后面再來詳細(xì)介紹模型與這些功能。

四、視圖(View)

視圖層就是輸出對應(yīng)的HTML代碼。

在框架中可以使用模板引擎(如:ThinkPHP自帶引擎、Smarty引擎)來進行變量替換。

但是現(xiàn)在服務(wù)端比較流行的都是API開發(fā),通過API傳遞數(shù)據(jù)與前端進行交互,比較少使用視圖來進行頁面渲染。

五、路由(Route)

許多的PHP框架中都具有路由這個功能,甚至在Vue、React之類的前端框架中也加入了路由這個概念。

路由其實就是我們的訪問URL和控制器中的Action做了一個映射,如上面提到的:

http://localhost/tp5_demo/public/index/index/index

就是訪問index模塊中的Index控制器下的index()方法。

我們可以來嘗試一下,在Index控制器中加入hello()方法:

?ThinkPHP基礎(chǔ)概況和Web服務(wù)端開發(fā)中常用的MVC結(jié)構(gòu)示例

感謝各位的閱讀!關(guān)于“ThinkPHP基礎(chǔ)概況和Web服務(wù)端開發(fā)中常用的MVC結(jié)構(gòu)示例”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

網(wǎng)頁名稱:?ThinkPHP基礎(chǔ)概況和Web服務(wù)端開發(fā)中常用的MVC結(jié)構(gòu)示例-創(chuàng)新互聯(lián)
分享路徑:http://chinadenli.net/article24/ecoje.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊營銷型網(wǎng)站建設(shè)網(wǎng)站設(shè)計網(wǎng)站制作網(wǎng)頁設(shè)計公司外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設(shè)