發表日期:2018-03 文章編輯:小燈 瀏覽次數:3204
今天在對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代碼,都是能直接執行默認的那幾個助手小工具里面的代碼的。
日期:2018-10 瀏覽次數:3612
日期:2018-10 瀏覽次數:3356
日期:2018-08 瀏覽次數:3393
日期:2018-06 瀏覽次數:3207
日期:2018-06 瀏覽次數:3056
日期:2018-06 瀏覽次數:3102
日期:2018-06 瀏覽次數:3367
日期:2018-06 瀏覽次數:3207
日期:2018-06 瀏覽次數:3120
日期:2018-06 瀏覽次數:3309
日期:2018-05 瀏覽次數:3213
日期:2018-05 瀏覽次數:3997
日期:2018-05 瀏覽次數:3125
日期:2018-05 瀏覽次數:3529
日期:2018-04 瀏覽次數:3993
日期:2018-03 瀏覽次數:3128
日期:2018-03 瀏覽次數:3009
日期:2018-03 瀏覽次數:3203
日期:2018-02 瀏覽次數:3201
日期:2018-02 瀏覽次數:3159
日期:2017-12 瀏覽次數:3296
日期:2017-12 瀏覽次數:3499
日期:2017-12 瀏覽次數:3676
日期:2017-12 瀏覽次數:3106
日期:2017-12 瀏覽次數:3077
日期:2017-11 瀏覽次數:3117
日期:2017-11 瀏覽次數:3186
日期:2017-11 瀏覽次數:3077
日期:2017-11 瀏覽次數:3215
日期:2017-11 瀏覽次數:3793
Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.