module_load_include()vs require_once

时间:2011-09-01 13:06:16

标签: php drupal code-structure

我想知道您何时需要使用module_load_include()require_once来包含位于您模块中的文件。

2 个答案:

答案 0 :(得分:13)

Drupal module_load_include()函数在标准PHP require_once之上做的关键是它在使用drupal_get_path()定位文件时引用模块的路径。

如果您使用require_once,则必须自己动手。

它做的另一件事是在尝试包含它之前检查文件是否存在,这对于避免致命崩溃很方便,但是当你试图调用你试过的函数时,无论如何都要获得一个文件是毫无意义的包括。这很方便,但允许您产生更有意义的错误。

在一天结束时,module_load_include()实际上只是Drupal提供的一个小实用功能,可以让事情变得更容易。如果您知道文件的位置,并且您知道它存在于那里,则几乎不需要使用Drupal函数;你也可以使用require_once

答案 1 :(得分:1)

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' .