我想知道何时需要使用module_load_include()
或require_once
来包含位于模块内的文件。
Drupal module_load_include()
函数在标准PHP require_once
之上所做的关键事情是,它在使用drupal_get_path()
定位文件时引用模块的路径。
如果你要使用require_once
,你必须自己做这一点。
它做的另一件事是在尝试包含它之前检查文件是否存在,这对于避免致命的崩溃很方便,但如果在尝试调用试图包含的函数时无论如何都会遇到崩溃,那么这就毫无意义了。这对于生成更有意义的错误是很方便的。
在一天结束时,module_load_include()
实际上只是Drupal提供的一个小实用函数,它使事情变得稍微容易一些。如果您知道文件的位置,并且知道它存在于那里,那么就很少需要使用Drupal函数;你也可以使用require_once
module_load_include要求Drupal完全加载(完全引导)。
语法:module_load_include($type, $module, $name = NULL);
例如:module_load_include('inc','module_name','file_name');
如果你想在全局上下文中使用这个函数,那么使用require_once
require_once不需要。
例如:require_once DRUPAL_ROOT . '/path/file' .