精品人人槡人妻人人槡,无码午夜国产视频,日韩精品无码有码视频,国产成人精品日本亚洲成熟

<var id="lf53i"><track id="lf53i"><ins id="lf53i"></ins></track></var>

  • <rp id="lf53i"></rp>
    <var id="lf53i"><track id="lf53i"><ins id="lf53i"></ins></track></var>

    <video id="lf53i"></video>
    <b id="lf53i"><acronym id="lf53i"></acronym></b>

      1. 0712-2888027 189-8648-0214
        微信公眾號

        孝感風信網(wǎng)絡科技有限公司微信公眾號

        當前位置:主頁 > 技術支持 > PHP > Destoon進行二次開發(fā)需要的準備工作

        Destoon進行二次開發(fā)需要的準備工作

        時間:2018-05-17來源:風信官網(wǎng) 點擊: 854次
        能夠理很好理解Destoon的構架的原理
        扎實的PHP基礎,熟悉結構化程序
        熟悉MYSQL就用,掌握SQL語言,懂SQL優(yōu)化者更佳
        熟悉使用Destoon的各項功能

        一) Destoon的文件系統(tǒng)目錄

        a) Admin:后臺管理功能模塊
        b) Api:DT系統(tǒng)與其它系統(tǒng)之間接口程序
        c) Archiver:DT中,用以搜索引擎優(yōu)化的無圖版
        d) Attachments:DT中 ,用戶上傳附件的存放目錄
        e) Customavatars:DT中,用戶自定義頭像的目錄
        f) Forumdata:DT緩存數(shù)據(jù)的存放目錄
        g) Images:DT模板中的圖片存放目錄
        h) Include:DT常用函數(shù)庫,基本功能模塊目錄
        i) Ipdata:DT統(tǒng)計IP來路用的數(shù)據(jù)
        j) Plugins:DT插件信息的存放目錄
        k) Templates:DT模板文件的存放目錄
        l) Wap:DT無線,Wap程序處理目錄

        二) 必須記熟Destoon!數(shù)據(jù)庫設計的每個表的功能

        每個表中每個字段的功能。關于DT數(shù)據(jù)庫設計文檔,請參閱DT相關的項目文檔

        三) Destoon!的流程控制

        a)后臺流程控:DT后臺所有的功能,均需要注冊到admincp.php文件,每個功能都至少有一個或一個以上的Action(動作),在 admincp.php中,可以定義Action的執(zhí)行權限,分別為:“admin==1”管理員,或“admin==2 ||admin==3”超級版主和版主,每個Action對應一個腳本文件,腳本文件的命名為action.inc.php(*.inc.php),并存 放在admin目錄下,如執(zhí)行:admincp.php?action=dodo,相當于執(zhí)行admin目錄下的dodo.inc.php文件

        b) 前臺流程控制:前臺的流程控制比較簡單:流程是自由的,如:首頁:index.php會員注冊:register.php;會員登錄:logging.php發(fā)貼程序:post.php會員信息:member.php論壇內(nèi)容:forumdisplay.php查看貼子:viewthread.php…大部分功能,此處不一一列出…

        c) DT根目下的config.inc.php屬于整個DT系統(tǒng)的配置文件

        四) Destoon!的數(shù)據(jù)處理過程

        a) DT對mysql的數(shù)據(jù)庫操作處理全部封裝在dbstuff(db_mysql.class.php)類中
        b) 所在的外部數(shù)據(jù)均通過“daddslashes()”初步過濾,然后再過濾,再根據(jù)需要處理

        五) Destoon!的顯示控制(網(wǎng)站多樣式風格輸出)

        a) 顯示層就是大家通常所看到的網(wǎng)站風格了。DT中每套風絡分別在templates及images下對應一個風格文件的存放目錄。網(wǎng)站風格的制作,請參閱詳細的DT風格制作文檔b)DT網(wǎng)站風格文件處理的原理:其實很簡單,DT使用template.func.php中的parse_template()以PHP正則運算把 htm模文件中的模板標簽,轉換成了PHP代碼,并根據(jù)styleid保存在forumdata/templates下,這個有點像Smarty中的技術。

        六) DT中的語言處理

        a) DT前臺及后臺中、英語言的實現(xiàn),均是把語句定義成了語變量,然后在模板輸入,語句變量的賦值,均放在模板目錄中的*.lang.php文件中,DT在生成網(wǎng)站風格時就加載了這相應的語言包。

        七) DT如何處理用戶信息(存取、計算、更新過程)

        新手要做二次開發(fā),都必須掌握這數(shù)組中,每個數(shù)組元素的意義。

        a) DT的基本信息,如用戶信息,Session信息存在如下變量中:
        a). $_DCACHEb). $_COOKIEc). $_DCOOKIEd). $_DSESSIONe). $_DPLUGINb) 可以通過print_r($GLOBALS),打印全部變量

        八) DT中緩存處理機制

        a) DT中緩存處理過程都放在“cache.func.php”中,DT的緩存處理比較簡單,其原理是把一個數(shù)組轉換成了PHP代碼,并保存在緩存目錄下,大家可打開緩存文件查看便知。
        b) 使用方法:如果在新開的功能中,需要緩存某部分數(shù)據(jù),基本上就是:

        1)定義并注冊緩存名字。
        2)從數(shù)據(jù)讀取相應的數(shù)據(jù)。
        3)數(shù)據(jù)在寫入緩存前作相應處理。
        4)最后寫入緩存。

        具體操作,可以看文件中的代碼,做相應的修改即可

        九) DT中模板處理機制

        a) DT獨創(chuàng)的模板處理技術,類似于Smarty中的模板處理,只是具體算法,過程不同,Smarty是一種重型模板引擎方案。其原理都是把模板中的變量轉換成相應的PHP代碼,這個過程實際是模訪JAVA中的一次編譯,多處運行。

        十) DT中權限處理機制

        a) 對于DT中前臺的每相action都有$Destoon_action定義,DT根據(jù)用戶所在的用戶組來判定用戶是否具有相應操作$Destoon_action的權限。至于后臺的權限權驗證,則更簡單了,依據(jù)“admin==1”來確定的

        十一) DT中如何實現(xiàn)URL靜態(tài)化

        a) DT中的靜態(tài)有兩法,只要懂ReWrite規(guī)劃的朋友,一看就知。

        十二) DT獨創(chuàng)的HTML編輯器

        如何截取并使用,如果進行Destoon!代和Html代碼的轉換

        a)這也算是DT比較牛的一項技術了,在早期版中,因DT編輯器的不足,使得很多用戶放棄了DT。實現(xiàn)原理:通過JS把用的一些操作轉換成了DT的 bbcode代碼。這樣子提交了安全性,將帶有bbcode代碼的內(nèi)容存入數(shù)據(jù),在用戶打開頁頁時,又把bbcode代碼轉換成html代碼

        一、初始化系統(tǒng)

        包含系統(tǒng)根目錄下的common.inc.php即可初始化系統(tǒng)。
        例如在站點根目錄下創(chuàng)建一個hello.php。
        示例代碼:
        <?php
        require 'common.inc.php';
        echo 'Hello World';
        ?>

        二、編寫邏輯

        系統(tǒng)初始化之后,就可以在php文件里編寫邏輯代碼,同時也可以調(diào)用系統(tǒng)內(nèi)置的變量、函數(shù)和類了。
        示例代碼:
        <?php
        require 'common.inc.php';
        echo DT_ROOT;//輸出站點的物理路徑
        echo '<br/>';
        echo DT_PATH;//輸出站點的首頁地址
        echo '<br/>';
        $r = $db->get_one("SELECT * FROM {$DT_PRE}category");//從分類表里查詢一條數(shù)據(jù)
        print_r($r);//打印讀取的數(shù)據(jù)
        $A = cache_read('area.php');//讀取系統(tǒng)的地區(qū)緩存
        print_r($A);//打印讀取的數(shù)據(jù)
        print_r($MODULE);//打印系統(tǒng)模塊數(shù)據(jù)
        message('Hello World');//輸出一段提示信息
        ?>

        三、應用模板

        所有輸出給瀏覽器的HTML均通過模板里的規(guī)則顯示。
        使用方法:
        include template('a', 'b');
        參數(shù)a表示模版名稱
        參數(shù)b表示模板存放的目錄,此參數(shù)可以不設置
        假如模板目錄為default,那么:
        template('a', 'b'); 代表 template/default/b/a.htm 模板文件
        template('a'); 代表 template/default/a.htm 模板文件
        示例代碼:
        <?php
        require 'common.inc.php';
        template('hello');
        ?>
        template/default/hello.htm 模板文件需要提前創(chuàng)建
        欄目列表
        推薦內(nèi)容
        熱點內(nèi)容
        展開