您好,欢迎来到菜鸟吧源码网-本站资源仅供学习与参考,禁止用于商业或违法行为!
  • 首 页
  • 下载APP
  • 公告:菜鸟吧APP于2024.9.15正式上线,请首页右上角进入下载,本站资源均来源于互联网及会员投稿发布,所有资源仅供学习参考研究使用,请勿商用或其它非法用途,商用请购买正版,否则产生一切后果由用户自行承担!谢谢!

     

    当前位置:主页 > 站长学堂 > dede教程 >
    dede助手小工具helper是如何载入的?
    时间:2020-03-01 11:46 作者:菜鸟哥 浏览:收藏 挑错 打印

    今天在对dede的问答模块进行修改的时候发现直接调用/include/helpers/archive.helper.php文件中的函数居然是可行的,但是找遍了ask模块的所有代码都没有发现这个是文件如何引入的。我记得有人说过dede的helper文件由系统自动引入,不需要自己手动完成。但是这个东西是如何自动引入的呢,是所有的地方都能用/include/helpers/目录下面的所有文件吗?

    答案是否。

    官方之所以说/include/helpers/下面的文件自动引入 是因为dede的php文件中几乎都require了/include/common.inc.php这个初始化文件,而这个文件中完成了对所有/include/helpers/下面的文件自动引入。相关代码如下:

    01if(file_exists(DEDEDATA.'/helper.inc.php'))
    02{
    03require_once(DEDEDATA.'/helper.inc.php');
    04// 若没有载入配置,则初始化一个默认小助手配置
    05if(!isset($cfg_helper_autoload))
    06{
    07$cfg_helper_autoload = array('util', 'charset', 'string', 'time', 'cookie');
    08}
    09// 初始化小助手
    10helper($cfg_helper_autoload);
    11}

    这段代码的意思是如果变量$cfg_helper_autoload已经存在,则执行helper($cfg_helper_autoload);而默认是存在的。helper()这个函数实现了具体引入哪些/include/helpers/下面的文件,是哪些呢,这要取决于$cfg_helper_autoload变量的内容。

    我们看看这个$cfg_helper_autoload里面有些什么东西。原来这个变量是在/data//helper.inc.php中定义的:

    01<?php
    02//小助手配置项
    03$cfg_helper_autoload = array
    04(
    05'charset', /* 编码小助手 */
    06'channelunit',/* 模型单元小助手 */
    07'string', /* 字符串小助手 */
    08'time', /* 日期小助手 */
    09'file', /* 文件小助手 */
    10'util', /* 单元小助手 */
    11'validate', /* 数据验证小助手 */
    12'filter', /* 过滤器小助手 */
    13'cookie', /* cookies小助手 */
    14'debug', /* 调试小助手 */
    15'archive', /* 文档小助手 */
    16'upload', /* 上传小助手 */
    17'extend', /* 扩展小助手 */
    18);
    19?>

    看到了吧 默认引用的helper中已经包括了archive文档小助手,而ask模块一开始就是require了/include/common.inc.php的,因此一层一层的分析下来,可以得出这样的结论,凡是引入和/include/common.inc.php文件的php代码,都是能直接执行默认的那几个助手小工具里面的代码的。

    郑重声明:
    本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
    我们不承担任何技术及版权问题,且不对任何资源负法律责任。
    如无法下载,联系站长索要。
    如有侵犯您的版权,请给我们来信:cainiaovip8@qq.com,我们尽快处理。

    织梦中TAG标签字数长度限制解决方法织梦中TAG标签字数长度限制解决方法
    织梦后台突然打不开或打开后空白的解决方法织梦后台突然打不开或打开后空白的解决
    织梦系统解决后台“DEDECMS安全提示”的方法织梦系统解决后台“DEDECMS安全提示”