我想知道何时需要使用module_load_include()
或require_once
包含位于模块中的文件。
2 回答
module_load_include()
Drupal函数在标准 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' .