麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 開(kāi)發(fā) > ThinkPHP > 正文

揭秘ThinkPHP3.1.2版本的獨(dú)立分組功能

2024-09-09 15:19:50
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

ThinkPHP的分組功能是廣為開(kāi)發(fā)者使用的一個(gè)功能,可以解決中大型項(xiàng)目情況中MVC分層文件過(guò)多導(dǎo)致不易管理的問(wèn)題.

而3.1.2版本添加的獨(dú)立分組功能則為此類(lèi)問(wèn)題提出了新的解決思路,更加適合組件化的開(kāi)發(fā)模式。雖然目前3.1.2版本還未正式發(fā)布,不過(guò)我們可以先了解下這一功能.

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

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

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

'APP_GROUP_LIST'=>'Home,Admin',

'DEFAULT_GROUP'=>'Home',

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

APP_GROUP_MODE 用于配置分組模式,默認(rèn)為0 為原有的普通分組模式,如果設(shè)置為1 則表示啟用獨(dú)立分組模式。

是否需要升級(jí)為獨(dú)立分組模式完全由你決定,相信你看完后面的內(nèi)容會(huì)有明智的選擇。

目錄結(jié)構(gòu):啟用獨(dú)立分組模式后,你需要在項(xiàng)目目錄下面創(chuàng)建獨(dú)立分組目錄,該目錄可以由項(xiàng)目配置文件通過(guò)APP_GROUP_PATH參數(shù)配置,默認(rèn)值為Modules,假設(shè)我們沒(méi)有做任何更改的話,在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 分組語(yǔ)言包目錄
  ├─Action 分組Action控制器目錄
  ├─Model 分組Model模型目錄
  ├─Widget 分組Widget目錄
  ├─ORG 分組擴(kuò)展類(lèi)庫(kù)目錄
  ├─... 其他分層目錄
  └─Tpl 分組模板目錄

注意:獨(dú)立分組的目錄結(jié)構(gòu)目前需要手動(dòng)創(chuàng)建

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

'APP_GROUP_MODE'=>1

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

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

分組的公共類(lèi)庫(kù)文件無(wú)需手動(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)目語(yǔ)言目錄
├─Modules 獨(dú)立分組目錄
│  ├─Home Home分組目錄(獨(dú)立分組目錄結(jié)構(gòu)參考前面)
│  ├─Admin Admin分組目錄
│  └─... 其他分組目錄
├─Lib 分組公共類(lèi)庫(kù)目錄
│  ├─Action 公共Action類(lèi)庫(kù)目錄
│  ├─Behavior 公共行為類(lèi)庫(kù)目錄
│  ├─Model 公共模型類(lèi)庫(kù)目錄
│  └─... 其他公共類(lèi)庫(kù)目錄
├─Runtime 項(xiàng)目運(yùn)行時(shí)目錄
│  ├─Cache 模板緩存目錄
│  ├─Data 數(shù)據(jù)緩存目錄
│  ├─Logs 日志文件目錄
│  └─Temp 臨時(shí)緩存目錄
 

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

Tpl/Home/Index/index.html 

移動(dòng)到獨(dú)立分組下的Tpl目錄后,應(yīng)該是:Tpl/Index/index.html模板主題功能仍然支持。

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

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

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

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

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

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 国产成人观看 | 久久日韩在线 | 亚洲成人伊人 | 国产亚色 | 黑人三级毛片 | 91精品国产综合久久男男 | 欧美a级大胆视频 | 国产亚洲精品久久久久5区 综合激情网 | 久久久久久久久久综合 | 亚洲无av | 在线成人免费网站 | 色播一区| 国产精品一区二区三区在线播放 | 自拍偷拍亚洲图片 | 久久国产精品久久久久久电车 | 久久久aa| 久国久产久精永久网页 | 亚洲精品动漫在线观看 | 国产一级毛片高清视频 | 一色视频 | 黄网站免费观看视频 | 男女一边摸一边做羞羞视频免费 | 福利在线影院 | 亚洲综合91| 欧日韩在线视频 | 国产69精品久久久久久久久久 | 亚洲码无人客一区二区三区 | 色柚视频网站ww色 | 亚洲一区二区三区精品在线观看 | 欧美中文字幕在线视频 | 久草视频福利在线观看 | 欧美www | 成人毛片视频在线播放 | 国产亚洲美女精品久久久2020 | 91精品最新国内在线播放 | 欧美精品v国产精品v日韩精品 | h色网站在线观看 | 国产精品剧情一区二区三区 | 国产精品一区二区三区在线播放 | 欧美爱爱视频网站 | 久久99精品久久久久久秒播蜜臀 |