一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

解密ThinkPHP3.1.2版本之獨(dú)立分組功能應(yīng)用

Thinkphp的分組功能是廣為開發(fā)者使用的一個(gè)具有很大實(shí)用價(jià)值的功能,該功能可以解決中大型項(xiàng)目情況中MVC分層文件過多導(dǎo)致不易管理的問題。

而Thinkphp3.1.2版本添加的獨(dú)立分組功能則為此類問題提出了新的解決思路,更加適合組件化的開發(fā)模式。我們就此了解下這一功能。

1.概述

獨(dú)立分組功能不影響原有分組模式的運(yùn)行,并且原有分組模式僅需移動(dòng)目錄結(jié)構(gòu)即可完成獨(dú)立分組模式的升級(jí),無需任何應(yīng)用代碼的改動(dòng)。

而且新的獨(dú)立分組可以很方便的獨(dú)立裝卸和移動(dòng),可以擺脫原來普通分組文件分散在各個(gè)不同的目錄下面的困擾。

獨(dú)立分組的URL訪問和原先的普通分組一樣,沒有任何區(qū)別,配置分組列表也仍然采用APP_GROUP_LIST參數(shù)配置。設(shè)置默認(rèn)分組則采用DEFAULT_GROUP參數(shù)。例如:

'APP_GROUP_LIST'=>'Home,Admin','DEFAULT_GROUP'=>'Home',

雖然新的獨(dú)立分組已經(jīng)完全可以取代原有普通分組模式,不過為了考慮到原有分組項(xiàng)目的平滑升級(jí),此次新版增加了一個(gè)配置參數(shù):

APP_GROUP_MODE 用于配置分組模式,默認(rèn)為0 為原有的普通分組模式,如果設(shè)置為1 則表示啟用獨(dú)立分組模式。
是否需要升級(jí)為獨(dú)立分組模式完全由你決定,相信你看完后面的內(nèi)容會(huì)有明智的選擇。

2.目錄結(jié)構(gòu)

啟用獨(dú)立分組模式后,你需要在項(xiàng)目目錄下面創(chuàng)建獨(dú)立分組目錄,該目錄可以由項(xiàng)目配置文件通過APP_GROUP_PATH參數(shù)配置,默認(rèn)值為Modules。假設(shè)我們沒有做任何更改的話,在Modules目錄下面就是每個(gè)分組的子目錄,每個(gè)分組是完全獨(dú)立的,包括模型、控制器、視圖、配置和函數(shù)文件等等,你可以很方便的實(shí)現(xiàn)分組的移動(dòng)和卸載。
標(biāo)準(zhǔn)的獨(dú)立分組目錄結(jié)構(gòu)為(以一個(gè)Home分組為例):

─Home Home分組目錄 ├─Common 分組函數(shù)目錄 ├─Conf 分組配置目錄 ├─Lang 分組語言包目錄 ├─Action 分組Action控制器目錄 ├─Model 分組Model模型目錄 ├─Widget 分組Widget目錄 ├─ORG 分組擴(kuò)展類庫目錄 ├─... 其他分層目錄 └─Tpl 分組模板目錄

注意:獨(dú)立分組的目錄結(jié)構(gòu)目前需要手動(dòng)創(chuàng)建
基本上可以看到,獨(dú)立分組除了沒有入口文件外,其他獨(dú)立項(xiàng)目具備的結(jié)構(gòu)都基本具備了。
從原來的普通分組升級(jí)到獨(dú)立分組,只需要在項(xiàng)目配置文件中增加:

'APP_GROUP_MODE'=>1

然后把原來項(xiàng)目Lib目錄下面屬于對(duì)應(yīng)分組的MVC文件,以及分組的函數(shù)、配置和語言(如果有的話)文件依次對(duì)照上面的獨(dú)立分組的目錄結(jié)構(gòu)放入對(duì)應(yīng)目錄即可。

3.公共文件

采用獨(dú)立分組后,原來的項(xiàng)目Lib目錄則作為分組公共類庫文件設(shè)計(jì),如果你的多個(gè)獨(dú)立分組需要調(diào)用公共的Action或者M(jìn)odel類的話(其實(shí)還包括其他的分層控制器和模型類),則可以把這些公共類放入項(xiàng)目的Lib目錄下面的對(duì)應(yīng)目錄(實(shí)際的升級(jí)過程中,這些公共類庫文件基本上保持目錄結(jié)構(gòu)不變,所以無需移動(dòng))。
分組的公共類庫文件無需手動(dòng)加載,均采用了自動(dòng)加載機(jī)制。
所以,最終采用獨(dú)立分組模式的實(shí)際項(xiàng)目目錄結(jié)構(gòu)如下:

├─index.php   項(xiàng)目入口文件 ├─Common 項(xiàng)目公共文件目錄 ├─Conf 項(xiàng)目配置目錄 ├─Lang 項(xiàng)目語言目錄 ├─Modules 獨(dú)立分組目錄 │ ├─Home Home分組目錄(獨(dú)立分組目錄結(jié)構(gòu)參考前面) │ ├─Admin Admin分組目錄 │ └─... 其他分組目錄 ├─Lib 分組公共類庫目錄 │ ├─Action 公共Action類庫目錄 │ ├─Behavior 公共行為類庫目錄 │ ├─Model 公共模型類庫目錄 │ └─... 其他公共類庫目錄 ├─Runtime 項(xiàng)目運(yùn)行時(shí)目錄 │ ├─Cache 模板緩存目錄 │ ├─Data 數(shù)據(jù)緩存目錄 │ ├─Logs 日志文件目錄 │ └─Temp 臨時(shí)緩存目錄


4.模板文件

獨(dú)立分組的模板文件由項(xiàng)目的Tpl目錄移動(dòng)到了獨(dú)立分組目錄的Tpl目錄,原來的模板分組子目錄不再需要,例如:

Tpl/Home/Index/index.html 

移動(dòng)到獨(dú)立分組下的Tpl目錄后,應(yīng)該是:

Tpl/Index/index.html

模板主題功能仍然支持。

5.調(diào)用類庫

獨(dú)立分組在導(dǎo)入類庫的時(shí)候,使用方法和導(dǎo)入項(xiàng)目類庫基本一致,例如:

import('@.Action.TestAction'); // 導(dǎo)入當(dāng)前分組下的Action/TestAction.class.php import('@.ORG.Util.Image'); // 導(dǎo)入當(dāng)前分組下的ORG/Util/Image.class.php

獨(dú)立分組不考慮多個(gè)分組之間的交互和調(diào)用,只能調(diào)用公共類庫。
如果你必須調(diào)用其他分組的類庫,而沒有采用公共類庫設(shè)計(jì)的話,那么可以使用:

import('ORG.Util.Image',APP_PATH.'Modules/Admin'); 

不過,采用獨(dú)立分組后,A方法和R方法、D方法均不支持跨分組調(diào)用了。

php技術(shù)解密ThinkPHP3.1.2版本之獨(dú)立分組功能應(yīng)用,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 美女胸又大又黄又www的网站 | 欧美一区二区自偷自拍视频 | 亚洲综合激情九月婷婷 | 免费高清小黄站在线观看 | 亚洲人的天堂男人爽爽爽 | 91精品在线国产 | 99久久精品免费视频 | 碰碰碰人人澡人人爱摸 | 亚洲天堂视频在线观看 | 欧亚激情偷乱人伦小说视频 | 婷婷玖玖| 久久精品影院永久网址 | 一区二区三区美女视频 | aiai在线观看| 亚洲天堂久久 | 影院成人区精品一区二区婷婷丽春院影视 | 91日韩在线 | www.免费视频.com | 色啦啦| 国产小视频你懂的 | 精品福利一区 | 国产玖玖视频 | 中文字幕有码热在线视频 | 国产精品久久久久久久久鸭 | 国产三级精品美女三级 | 国产精品久久精品福利网站 | 伊人222成人综合网 伊人22综合 | 亚洲 国产 图片 | 久久在精品线影院精品国产 | 国产精品欧美日韩精品 | 欧美黑人猛xxxxbbbb | 亚洲网站在线播放 | 美女很黄很黄是免费的·无遮挡网站 | 岛国免费 | 亚洲性久久 | 亚洲小说图片区 | 欧美xxx喷水 | 亚洲第一免费视频 | 国产日韩欧美一区二区三区综合 | 爱啪精品导航在线 | 精品久久看 |