天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

解密ThinkPHP3.1.2版本之獨立分組功能應用

Thinkphp的分組功能是廣為開發者使用的一個具有很大實用價值的功能,該功能可以解決中大型項目情況中MVC分層文件過多導致不易管理的問題。

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

1.概述

獨立分組功能不影響原有分組模式的運行,并且原有分組模式僅需移動目錄結構即可完成獨立分組模式的升級,無需任何應用代碼的改動。

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

獨立分組的URL訪問和原先的普通分組一樣,沒有任何區別,配置分組列表也仍然采用APP_GROUP_LIST參數配置。設置默認分組則采用DEFAULT_GROUP參數。例如:

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

雖然新的獨立分組已經完全可以取代原有普通分組模式,不過為了考慮到原有分組項目的平滑升級,此次新版增加了一個配置參數:

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

2.目錄結構

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

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

注意:獨立分組的目錄結構目前需要手動創建
基本上可以看到,獨立分組除了沒有入口文件外,其他獨立項目具備的結構都基本具備了。
從原來的普通分組升級到獨立分組,只需要在項目配置文件中增加:

'APP_GROUP_MODE'=>1

然后把原來項目Lib目錄下面屬于對應分組的MVC文件,以及分組的函數、配置和語言(如果有的話)文件依次對照上面的獨立分組的目錄結構放入對應目錄即可。

3.公共文件

采用獨立分組后,原來的項目Lib目錄則作為分組公共類庫文件設計,如果你的多個獨立分組需要調用公共的Action或者Model類的話(其實還包括其他的分層控制器和模型類),則可以把這些公共類放入項目的Lib目錄下面的對應目錄(實際的升級過程中,這些公共類庫文件基本上保持目錄結構不變,所以無需移動)。
分組的公共類庫文件無需手動加載,均采用了自動加載機制。
所以,最終采用獨立分組模式的實際項目目錄結構如下:

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


4.模板文件

獨立分組的模板文件由項目的Tpl目錄移動到了獨立分組目錄的Tpl目錄,原來的模板分組子目錄不再需要,例如:

Tpl/Home/Index/index.html 

移動到獨立分組下的Tpl目錄后,應該是:

Tpl/Index/index.html

模板主題功能仍然支持。

5.調用類庫

獨立分組在導入類庫的時候,使用方法和導入項目類庫基本一致,例如:

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

獨立分組不考慮多個分組之間的交互和調用,只能調用公共類庫。
如果你必須調用其他分組的類庫,而沒有采用公共類庫設計的話,那么可以使用:

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

不過,采用獨立分組后,A方法和R方法、D方法均不支持跨分組調用了。

php技術解密ThinkPHP3.1.2版本之獨立分組功能應用,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 中国jjzz| 国产精品久久久久久久久久影院 | 99免费精品 | 亚洲精品第一综合99久久 | 国产伦精品一区二区三区精品 | 成人在线免费视频观看 | 人与禽物videos另类 | 青青青手机视频 | 女仆翻身大作战 | 一二三四电影完整版免费观看 | 色戒2小时38分在线观看 | 99香蕉视频 | 永久午夜福利视频一区在线观看 | 果冻传媒2021一二三在线观看 | jizz日本女人 | 人人插人人射 | 特级做A爰片毛片免费69 | 忘忧草研究院一二三 | 男人插曲女人身体视频 | 欧美亚洲精品真实在线 | 看看妇女的B免费看 | 晚夜免费禁用十大亏亏 | J午夜精品久久久久久毛片 jzz大全18 | 97久久精品视频 | 芒果视频看片在线观看 | 老阿姨才是最有味的一区二区 | 被cao的奶水直喷高H | 殴美黄色网 | 久久人人爽人人片AV人成 | 麻美ゆま夫の目の前で犯 | 久久中文字幕综合不卡一二区 | 暖暖日本手机免费完整版在线观看 | 久久久无码精品亚洲日韩按摩 | 性欧美video 性欧美sexovideotv | 久久操热在线视频精品 | 老师好爽你下面水好多视频 | 免费A级毛片无码无遮挡内射 | 一区在线观看在线 | 国产电影一区二区三区 | 男男高H啪肉Np文多攻多一受 | 女人张开腿让男人桶爽免 |