自定义模块未定义的功能

时间:2012-09-05 10:51:28

标签: function module include drupal-7 undefined

我正在为我的雇主开发一个自定义模块。 my_module.module 填充程序太大且无法管理,所以我决定将相关代码分成单独的 .inc 文件。

然后我将这些文件包含在以下代码中:

function my_module_init(){
    module_load_include('inc', 'my_module', 'questionnaire_nodetypes');
    module_load_include('inc', 'my_module', 'questionnaire_config');
    module_load_include('inc', 'my_module', 'email_friends');
}

我的代码继续工作了一段时间,但我突然发现了 questionnaire_config.inc 中明确存在的函数的未定义函数错误。其他包含.inc文件的其他已确认和现有功能很快就会出现其他类似错误。

有人建议我运行 update.php 脚本,但这并没有解决问题。事实上,我得到了更多未定义的函数错误。

1 个答案:

答案 0 :(得分:2)

没有必要将这些行放在钩子中,只需将它们直接放入模块文件的顶部(我已经做了多年而且它从来没有引起过问题)。

hook_init()不会被调用缓存页面,所以当系统的另一个(非缓存)部分依赖于这些函数的存在时,可以想象你的文件不会被包含。