<address id="r9vd9"><address id="r9vd9"><listing id="r9vd9"></listing></address></address>

      歡迎您光臨深圳塔燈網絡科技有限公司!
      電話圖標 余先生:13699882642

      dede助手小工具helper是如何載入的?

      發表日期:2018-03 文章編輯:小燈 瀏覽次數:3358

      今天在對dede的問答模塊進行修改的時候發現直接調用/include/helpers/archive.helper.php文件中的函數居然是可行的,但是找遍了ask模塊的所有代碼都沒有發現這個是文件如何引入的。我記得有人說過dede的helper文件由系統自動引入,不需要自己手動完成。但是這個東西是如何自動引入的呢,是所有的地方都能用/include/helpers/目錄下面的所有文件嗎?

      答案是否。

      官方之所以說/include/helpers/下面的文件自動引入 是因為dede的php文件中幾乎都require了/include/common.inc.php這個初始化文件,而這個文件中完成了對所有/include/helpers/下面的文件自動引入。相關代碼如下:

      if(file_exists(DEDEDATA.'/helper.inc.php')){require_once(DEDEDATA.'/helper.inc.php');// 若沒有載入配置,則初始化一個默認小助手配置if (!isset($cfg_helper_autoload)){$cfg_helper_autoload = array('util', 'charset', 'string', 'time', 'cookie');}// 初始化小助手helper($cfg_helper_autoload);}

      這段代碼的意思是如果變量$cfg_helper_autoload已經存在,則執行helper($cfg_helper_autoload);而默認是存在的。helper()這個函數實現了具體引入哪些/include/helpers/下面的文件,是哪些呢,這要取決于$cfg_helper_autoload變量的內容。

      我們看看這個$cfg_helper_autoload里面有些什么東西。原來這個變量是在/data//helper.inc.php中定義的:

      <?php//小助手配置項$cfg_helper_autoload = array('charset', /* 編碼小助手 */'channelunit',/* 模型單元小助手 */'string', /* 字符串小助手 */'time', /* 日期小助手 */'file', /* 文件小助手 */'util', /* 單元小助手 */'validate', /* 數據驗證小助手 */'filter', /* 過濾器小助手 */'cookie', /* cookies小助手 */'debug', /* 調試小助手 */'archive', /* 文檔小助手 */'upload', /* 上傳小助手 */'extend', /* 擴展小助手 */);?>

      看到了吧 默認引用的helper中已經包括了archive文檔小助手,而ask模塊一開始就是require了/include/common.inc.php的,因此一層一層的分析下來,可以得出這樣的結論,凡是引入和/include/common.inc.php文件的php代碼,都是能直接執行默認的那幾個助手小工具里面的代碼的。


      本頁內容由塔燈網絡科技有限公司通過網絡收集編輯所得,所有資料僅供用戶參考了本站不擁有所有權,如您認為本網頁中由涉嫌抄襲的內容,請及時與我們聯系,并提供相關證據,工作人員會在5工作日內聯系您,一經查實,本站立刻刪除侵權內容。本文鏈接:http://www.webpost.com.cn/11258.html
      相關cms文章
       八年  行業經驗

      多一份參考,總有益處

      聯系深圳網站公司塔燈網絡,免費獲得網站建設方案及報價

      咨詢相關問題或預約面談,可以通過以下方式與我們聯系

      業務熱線:余經理:13699882642

      Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.    

      国产成人精品综合在线观看