<track id="f1xuz"><ruby id="f1xuz"><tt id="f1xuz"></tt></ruby></track>
<p id="f1xuz"></p>
  • 0712-2888027 189-8648-0214
    微信公眾號

    孝感風信網絡科技有限公司微信公眾號

    當前位置:主頁 > 技術支持 > DedeCMS > DedeCms文件加載順序原理介紹

    DedeCms文件加載順序原理介紹

    時間:2023-10-02來源:風信官網 點擊: 296次
    DedeCms 織夢cms可以說是國內最出名的cms系統了,對于我們研究cms,二次開發cms都是一個很好地學習。

    下面分享下dedecms文件是如何加載模板是如何替換的。

    比如織夢,ecshop這類模板引擎系統,研究它們的原理,就是從安裝根目錄的index.php看起來,看看都引入了那些文件,這些文件又起到了什么作用。

    織夢的index首先判斷了/data/common.inc.php這個文件存不存在,存在就是已經安裝過了,否則就是沒安裝過,跳到install/index.php。

    接下來引入了全局加載的常用文件

    require_once (dirname(__FILE__) . "/include/common.inc.php");

    進入這個文件我們會看到

    error_reporting(E_ALL || ~E_NOTICE);
    define('DEDEINC', str_replace("\\", '/', dirname(__FILE__) ) );
    define('DEDEROOT', str_replace("\\", '/', substr(DEDEINC,0,-8) ) );
    define('DEDEDATA', DEDEROOT.'/data');
    define('DEDEMEMBER', DEDEROOT.'/member');
    define('DEDETEMPLATE', DEDEROOT.'/templets');

    它定義了很多路徑變量,這樣在以后引入文件的時候,會變得非常方便和明了。

    接下來定義了一個function _RunMagicQuotes(&$svar)函數,這個函數對post,get,global等變量進行了過濾處理,這樣使用更安全。

    接下來引入系統常用變量

    require_once(DEDEDATA."/config.cache.inc.php");

    上傳變量

    require_once(DEDEINC.'/uploadsafe.inc.php');

    數據庫配置

    require_once(DEDEDATA.'/common.inc.php');

    系統安全配置

    require_once(DEDEDATA.'/safe/inc_safe_config.php');

    剩下的是一些常用目錄的設置,比如:

    模板的存放目錄,插件目錄,會員目錄,專題列表,附件目錄等。

    接下來引入數據庫的操作類:

    require_once(DEDEINC.'/dedesql.class.php');

    剩下的是全局函數和模型控制的引入:

    require_once(DEDEINC.'/common.func.php');

    // 模塊MVC框架需要的控制器和模型基類
    require_once(DEDEINC.'/control.class.php');
    require_once(DEDEINC.'/model.class.php');

    這些就是include/common.inc.php包含的內容,接下來,index.php 引入了

    require_once DEDEINC."/arc.partview.class.php";

    這個是模板解析類,有了它,通過調用它的方法Display,就可以加載模板文件,并顯示了。
    熱門關鍵詞: DedeCms 文件加載順序
    欄目列表
    推薦內容
    熱點內容
    展開
    美女自慰网站,亚洲一级a√无码,亚洲精品高清线久久,A大片免费久久精品