0

我正在为我的雇主开发一个自定义模块。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');
}

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

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

4

1 回答 1

2

无需将这些行放入钩子中,只需将它们直接转储到模块文件的顶部(我已经这样做了多年,它从未引起过问题)。

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

于 2012-09-05T17:01:27.760 回答