I was wondering when you need to use module_load_include()
or require_once
to include files which are located within your module.
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
.