WIKI使用導(dǎo)航
站長(zhǎng)百科導(dǎo)航
站長(zhǎng)專題
- 網(wǎng)站推廣
- 網(wǎng)站程序
- 網(wǎng)站賺錢(qián)
- 虛擬主機(jī)
- cPanel
- 網(wǎng)址導(dǎo)航專題
- 云計(jì)算
- 微博營(yíng)銷(xiāo)
- 虛擬主機(jī)管理系統(tǒng)
- 開(kāi)放平臺(tái)
- WIKI程序與應(yīng)用
- 美國(guó)十大主機(jī)
HDWiki/框架簡(jiǎn)介
雖然[HDwiki]是一個(gè)開(kāi)源的wiki系統(tǒng),并且代碼簡(jiǎn)潔易懂,但如果想在系統(tǒng)上做做進(jìn)一步開(kāi)發(fā)還需要對(duì)框架有一個(gè)整體的認(rèn)識(shí)。熟悉了HDwiki的框架以后完全可以獨(dú)立出來(lái)做其他功能的開(kāi)發(fā),當(dāng)做一個(gè)開(kāi)源的PHP框架來(lái)使用。
概要介紹[ ]
HDwiki系統(tǒng)的框架遵循MVC結(jié)構(gòu)可以用‘簡(jiǎn)單’、‘輕便’、‘明了’等字眼來(lái)形容。
縱覽概括具有一下特性:
程序執(zhí)行流程[ ]
系統(tǒng)流程圖如下:
H==Dwiki框架簡(jiǎn)介-程序執(zhí)行流程==
從開(kāi)始的index.php文件通過(guò)幾個(gè)重要的文件概要看一下流程。
index.php文件實(shí)現(xiàn)了如下功能
- 設(shè)置錯(cuò)誤級(jí)別
- 關(guān)掉魔法引用(數(shù)據(jù)庫(kù),文件過(guò)來(lái)的數(shù)據(jù))
- $starttime開(kāi)始了,設(shè)置程序運(yùn)行時(shí)間。
- IN_HDwiki和HDwiki_ROOT常量定義
- 包含一個(gè)文件'/model/HDwiki.class.php'
- 實(shí)例化一個(gè)對(duì)象然后運(yùn)行。
model/HDwiki.class.php
- 得到MAGIC_QUOTES_GPC的值
- 包含三個(gè)文件,
- config.php(本系統(tǒng)的基本信息數(shù)據(jù)庫(kù)信息、編碼等)
- string.class.php(類庫(kù)中,對(duì)字符串的處理)
- base.class.php(系統(tǒng)的基礎(chǔ)類,重點(diǎn))
然后就是HDwiki類
構(gòu)造函數(shù)執(zhí)行了init_request()load_control()兩個(gè)方法,實(shí)現(xiàn)了如下功能:
init_request()
- 判斷系統(tǒng)是否已經(jīng)安裝
- 得到url$_SERVER['QUERY_STRING']
- 把剛才得到的url進(jìn)行相應(yīng)的分析處理得到類名,方法名和參數(shù),設(shè)定默認(rèn)的類名,方法名。
- 把PHP的幾個(gè)全局變量($GLOBALS, $_ENV, $HTTP_GET_VARS, $HTTP_POST_VARS, $HTTP_COOKIE_VARS, $HTTP_SERVER_VARS, $HTTP_ENV_VARS)用unset釋放掉將post、get放到本類的屬性中。
load_control()
- 將上一個(gè)方法得到的get、post進(jìn)一步分析,包含對(duì)應(yīng)的文件。
run()
- index.php用到的方法,實(shí)例剛才的包含的類,運(yùn)行相應(yīng)的方法。
- 根據(jù)url運(yùn)行control里面的類的方法,此方法又調(diào)用了相應(yīng)的model方法做了對(duì)數(shù)據(jù)的處理。
- control方法完成變量和數(shù)據(jù)的處理后,就通過(guò)template類把模版編譯進(jìn)來(lái),統(tǒng)一顯示給用戶。
base.class.php文件簡(jiǎn)介,包含了一堆文件:
- require HDwiki_ROOT.'/version.php';
- require HDwiki_ROOT.'/lib/file.class.php';
- require HDwiki_ROOT.'/lib/util.class.php';
- require HDwiki_ROOT.'/lib/hddb.class.php';
- require HDwiki_ROOT.'/lib/template.class.php';
- require HDwiki_ROOT.'/lib/cache.class.php';
本類文件是重點(diǎn)的一個(gè)文件類系統(tǒng)中所有的cotrol類都集成了這個(gè)類,初始化了所有的系統(tǒng)中使用到得屬性和方法。包括,訪問(wèn)的ip、訪問(wèn)時(shí)間、初始化用戶、數(shù)據(jù)庫(kù)操作對(duì)象、緩存操作對(duì)象、插件列表、模版操作對(duì)象等。
到此關(guān)于框架的幾個(gè)重點(diǎn)文件就都看到了。關(guān)于如何初始化數(shù)據(jù)庫(kù),如何初始化模版對(duì)象,自己可以看看相應(yīng)的文件也都很容易理解。
參考來(lái)源[ ]
HDWIKI使用手冊(cè)導(dǎo)航 | ||||||
---|---|---|---|---|---|---|
|