中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
hdwiki框架結(jié)構(gòu)簡(jiǎn)要說明

本文非教程文章,只是對(duì)HDWIKI框架結(jié)構(gòu)有一個(gè)簡(jiǎn)要的說明。

熟悉HDWIKI代碼的和不想接觸HDWIKI代碼的可以掠過

目錄結(jié)構(gòu)
control  所有的控制器
data     日志文件、備份、緩存等文件存放。
install  安裝文件
js JS文件
lang     語(yǔ)言文件  包含所有公共固定的文字顯示,開發(fā)多語(yǔ)言版本,修改里面變量就好,不用開發(fā)多套模板
lib      主類文件存放 例如: 模板、郵件、字符串等··
model 服務(wù)(或者是應(yīng)用)對(duì)應(yīng)類文件存放
plugins  第三那方插件  目前集成 UCENTER
style    樣式文件
uploads 上傳文件存放   新上傳圖片,按月份散列文件夾
view     模板文件
項(xiàng)目流程
項(xiàng)目以根目錄下index.php文件為入口文件。包入model/hdwiki.class.php  這個(gè)主文件,同時(shí)此文件包含 /config.php 、/lib/string.class.php 、/model/base.class.php 這三個(gè)重要文件
在hdwiki.class.php 中分析URL,根據(jù)情況調(diào)入需要的控制器和方法。
拆分鏈接用 INDEX.PHP?之后的字符串,‘-’號(hào)分隔,依次為: 控制器名稱–方法名–條目號(hào)。 根據(jù)獲得的控制器名稱,用 load_control()函數(shù) 包含入需要得到控制器,如: control/控制器名稱.PHP
在 run()  中調(diào)用控制器中方法
控制器都是繼承 /model/base.class.php 的類。程序執(zhí)行后,bash() 初始化網(wǎng)站必要的信息,比如:時(shí)間、數(shù)據(jù)庫(kù)、緩存、用戶信息、模板、全局用到的方法等,
然后在控制器中用 load() 函數(shù)來(lái)調(diào)用對(duì)應(yīng)服務(wù)的類。應(yīng)用時(shí)傳入服務(wù)名稱即可,例如:load(‘category’) 即可調(diào)用 model/category.class.php 并初始化此類,同時(shí)將類和base()中獲得的信息裝入 $_ENV['category'] ,以備調(diào)用
在調(diào)用bash的時(shí)候,已經(jīng)初始化了模板文件,“lib\template.class.php”  在頁(yè)面中用 $this->view() 調(diào)用,使用方法類似 smarty,只是所有函數(shù)均封裝在 lib\template.class.php 中
通過模板賦值函數(shù) $this->view->assign() 賦值后,$this->view->display()  這個(gè)函數(shù)可以調(diào)用模板函數(shù)編譯模板并最終展現(xiàn)頁(yè)面 ,頁(yè)面路徑在 bash的$this->init_template() 中定義,而且此處不用寫路徑和文件擴(kuò)展名
一個(gè)URL過來(lái)后,項(xiàng)目執(zhí)行流程
通過 ‘?’ 后字符串,hdwiki.class.php 中函數(shù)調(diào)用相應(yīng)的控制器,run函數(shù)執(zhí)行控制器,并調(diào)用相應(yīng)方法。
拆分鏈接用 INDEX.PHP?之后的字符串,‘-’號(hào)分隔,依次為: 控制器名稱–方法名–條目號(hào)。
控制器通過構(gòu)造函數(shù),傳入相應(yīng)參數(shù),獲得BASH提供的基本信息,以及調(diào)用指定的類(服務(wù)),然后根據(jù)調(diào)用的方法,執(zhí)行相應(yīng)方法
頁(yè)面數(shù)據(jù)賦值,編譯并最終顯示
hdwiki.class.php 和 base.class.php 類的說明:
hdwiki.class.php 主要用于分析 url,調(diào)用指定控制器文件,執(zhí)行相應(yīng)函數(shù)。
base.class.php 初始化信息  數(shù)據(jù)庫(kù)連接、緩存、用戶信息、模板信息。所有控制器繼承這個(gè)類
用戶登陸
會(huì)用到control/user.php 這個(gè)控制器和 model/user.class.php 這個(gè)類
用戶執(zhí)行登陸操作前,在頁(yè)面會(huì)判斷用戶名和密碼。其中用戶名會(huì)用AJAX去庫(kù)中判斷,在控制器中 checkusername 這個(gè)方法進(jìn)行判斷,在user 表中用 username 進(jìn)行判斷,如果庫(kù)中沒有,則去UCENTER 中尋找。返回可用或者用戶名不存在
點(diǎn)擊登陸,調(diào)用 dologin() 這個(gè)函數(shù),根據(jù)用戶名,通過 表user 中username 字段獲得用戶信息,然后在返回信息中匹配 密碼,匹配成功則登陸成功
如果登陸時(shí)間超過一天,則重新調(diào)用 add_credit()    添加用戶登陸記錄 (creditdetail) 更新 user 表中 credit2(經(jīng)驗(yàn)) 和 credit1。獲得用戶組在 usergroup,?
然后分別調(diào)用 update_user() 更新最后登陸時(shí)間,refresh_user () 更新SESSION、 更新cookie
在 usergroup 中獲得用戶頭銜 。在用戶信息中 獲得 創(chuàng)建詞條數(shù),人氣指數(shù),編輯詞條等
最后還范圍頁(yè)面頂端登陸信息
如何新開發(fā)一個(gè)應(yīng)用?
添加新的應(yīng)用,需要在在 control/下添加控制器,model/下添加應(yīng)用需要的類,view/default/ 下添加需要的頁(yè)面。
注意文件名和方法名。 假設(shè),新添加服務(wù)名字為: services 控制器文件名為:control/services.php  。 這個(gè)類須是 bash 的繼承類  其中,每個(gè)方法名要加 do 前綴。例如 function dodefault() {};
服務(wù)類文件名為 model/services.class.php  類名字為 servicesmodel {}; 其中的方法名無(wú)特別前綴
怎樣調(diào)用model的?
在控制器中建立一個(gè)構(gòu)造函數(shù):
function control(& $get,& $post){
$this->base( & $get,& $post);
$this->load(‘services’);
}
即可!新建的類封裝在 $_ENV['services'] 中。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
phpcms學(xué)習(xí)總結(jié)
SMARTY環(huán)境下合理的網(wǎng)站結(jié)構(gòu)
PHPCMS 使用圖示和PHPCMS二次開發(fā)教程
AMP開發(fā)技術(shù)文檔
PHP框架模板原理分析
CodeIgniter使用Smarty3基本配置示例
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服