亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源Bug管理工具 > Mantis
Mantis解析
作者:網絡轉載 發布時間:[ 2014/2/7 16:38:00 ] 推薦標簽:Mantis 缺陷管理

(三)Mantis的結構分析

其實這個應該放到后的,因為修改后,才發現很多的東西,Mantis都已經想到了,東西都在代碼中,而不是在頁面配置里面,所以很多時候,想要的功能,直接修改源碼參數即可。等到(四)的時候,大家可以具體的了解其中的內容了,此節僅僅對Mantis的結構進行說明。

我本人不是開發出身,原先也不了解php,都是此次因為需要使用,才現看的php內容,好在不是需要開發一個沒有的系統,而是在一個現有的體系下找到其中的節點和關鍵,這個方便多了,所以下面的內容,僅僅代表本人的一些看法,可能有不對的地方,大家可以隨時指出,謝謝。

Mantis的目錄很多,但是關鍵的目錄目錄只有一個,是core目錄,當然了,因為漢化的緣故,lang目錄的strings_chinese_simplified.txt,也是我們關心的內容。還有是根目錄下面的各個php文件。

其實感覺Mantis的結構安排不盡合理,php目錄下面的大部分內容,都應該放置到一個專門的目錄,因為都是一些功能頁面文件。而用戶定義的內容,比如config_inc.php,應該放置在根目錄或者專門的配置目錄中,現在的安排顯得很混亂,主次不清。

如果看過Mantis的源碼,會發現很多php中都首先引入require_once( 'core.php' );core.php是我們第一個需要分析的文件,把此文件分析完,Mantis什么樣子,我們也知道了。

(四)core.php到底做了什么

下面的分析,我沒有解釋全部代碼,只是挑選主要的說明Mantis都在后面做了哪些魔法,感興趣的可以直接去看完整的代碼。

 

1.     constant_inc.php

45行:require_once( dirname( __FILE__ ).DIRECTORY_SEPARATOR.'core'.DIRECTORY_SEPARATOR.'constant_inc.php' );

這個是Mantis中定義的常量,在各種函數中,調用的很多不是硬編碼,而是對應的常量數值。

在50,51行的

if ( file_exists( dirname( __FILE__ ).DIRECTORY_SEPARATOR.'custom_constants_inc.php' ) ) {

      require_once( dirname( __FILE__ ).DIRECTORY_SEPARATOR.'custom_constants_inc.php' );}

這個是如果你需要定義自己的常量,請在根目錄下面新建custom_constants_inc.php文件,把自己定義的常量定義到此文件中。按照基本的原則,沒有必要,不要修改Mantis中原有的文件,Mantis本身已經給你留下了自定義的接口文件,此custom_constants_inc.php文件是。

下面還有很多類似的情況,有一個缺省的Mantis配置文件,有一個對應的用戶自定義文件。

2. config_defaults_inc.php

62行:require_once( dirname( __FILE__ ).DIRECTORY_SEPARATOR.'config_defaults_inc.php' );

config_defaults_inc.php是Mantis系統默認的各種參數。此文件和下面config_inc.php是同樣作用的文件,但是config_defaults_inc.php是系統預設的,config_inc.php是用戶自己定義的。

3. config_inc.php

64-67行

# config_inc may not be present if this is a new install

if ( file_exists( dirname( __FILE__ ).DIRECTORY_SEPARATOR.'config_inc.php' ) ) {

      require_once( dirname( __FILE__ ).DIRECTORY_SEPARATOR.'config_inc.php' );

      $t_config_inc_found = true;}

安裝或升級Mantis的時候,自動把數據庫等信息寫到此constant_inc.php文件中。如果需要自己定義一些參數,也都是在此文件中寫入,可以寫入的參數參考doc目錄內administration_guide.pdf的Chapter 5. Configuration章節。在根目錄的config_inc.php.sample文件內也有一些相關的示例。總之,自己需要定義的參數,在config_inc.php中實現。

如果config_inc.php和config_defaults_inc.php參數有重復的情況,以config_inc.php中定義的為準。

4. custom_function_api.php

244行:

require_once( 'custom_function_api.php' );

用戶自定義的函數,請加入到此文件中,缺省沒有此文件,需要的時候自己建立。

5.其他

Core.php里面還定義了很多內容,比如載入core目錄下面的各種api文件,定義時區,出否加載wiki等,但是主要的,還是上面的幾個文件。

總結,core.php主要加載Mantis使用的資源和庫文件,不妨當成缺省的命名空間,而且預留了用戶的接口,主要是變量config_inc.php、常量custom_constants_inc.php、函數custom_function_api.php,后兩個文件缺省沒有,需要的時候由用戶手工建立。在自己定義或開發的過程中,不要修改Mantis的原文件,都使用此三個文件即可。

具體的示例,參考doc目錄內administration_guide.pdf的Chapter 7. Customizing MantisBT。

上一頁12下一頁
軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 男女一起www免费高清视频 | 黄色一级a毛片 | 一级片免费网站 | 在线观看的黄网 | 在线看黄的网站 | 正在播放国产一区 | 97菊爱网 | 国产成人爱片免费观看视频 | 在线免费观看污视频 | 国产不卡a | 成人美女黄网站色大色费 | 国产日韩综合 | 黄色一级免费观看 | 一级女性全黄久久生活片免费 | 日产精品一二三四区国产 | 人人看人人看人做人人模 | 国产一区二区丁香婷婷 | 男人搞女人视频 | 免费黄色大片视频 | 国产青草视频免费观看97 | 丁香六月综合网 | 国产日韩一区在线精品欧美玲 | 色网站免费看 | 天天操天天干天天干 | 日日日日操| 天堂成人 | 中文字幕一区二区精品区 | 日韩欧美中 | 日本人亚洲人成人 | 五月天婷婷视频在线观看 | 最近2019中文字幕 | 免费韩国伦理片在线观看 | 天天操夜夜添 | 成人禁18视频在线观看 | 黄网页在线观看 | 亚洲成a v人片在线看片 | 青草福利在线 | 成人毛片免费观看视频 | 欧美a视频在线观看 | 久操视频在线观看免费 | 精品欧美一区二区三区 |