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

dede助手小工具helper是如何载入的?,第1张

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

今天在对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中定义的:

			

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

总结

以上是内存溢出为你收集整理的dede助手小工具helper是如何载入的?全部内容,希望文章能够帮你解决dede助手小工具helper是如何载入的?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zz/1066014.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存