Pregunta

I was wondering when you need to use module_load_include() or require_once to include files which are located within your module.

¿Fue útil?

Solución

The key thing that the Drupal module_load_include() function does over and above the standard PHP require_once is that it references the module's path when locating the file, using drupal_get_path().

If you were to use require_once, you would have to do this bit yourself.

The other thing it does is check that the file exists prior to trying to include it, which is handy for avoiding fatal crashes, but rather pointless if you're going to get one anyway when you try to call the functions you tried to include. This is handy though for allowing you to produce more meaningful errors.

At the end of the day, module_load_include() is really just a little utility function provided by Drupal to make things slightly easier for themselves. If you know where the file is located, and you know it exists there, there's very little need to use the Drupal function; you may just as well use require_once.

Otros consejos

module_load_include requires Drupal to be loaded fully (Fully Bootstrapped).

syntax: module_load_include($type, $module, $name = NULL);

Eg: module_load_include('inc','module_name','file_name');

if u want to use this function in a global context then use require_once

require_once doesn't need it.

Eg: require_once DRUPAL_ROOT . '/path/file' .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top