This function is special to all dynamic loadable
modules. Take a look at the creation via the ZEND_GET_MODULE macro first:
#if COMPILE_DL_FIRSTMOD ZEND_GET_MODULE(firstmod) #endif |
The function implementation is surrounded by a
conditional compilation statement. This is needed since the
function get_module() is only
required if your module is built as a dynamic extension. By
specifying a definition of
COMPILE_DL_FIRSTMOD in the compiler command (see above
for a discussion of the compilation instructions required to
build a dynamic extension), you can instruct your module
whether you intend to build it as a dynamic extension or as a
built-in module. If you want a built-in module, the
implementation of get_module() is
simply left out.
get_module() is called by Zend
at load time of the module. You can think of it as being
invoked by the dl() call in your script. Its purpose is
to pass the module information block back to Zend in order to
inform the engine about the module contents.
If you don't implement a
get_module() function in your dynamic loadable module,
Zend will compliment you with an error message when trying to
access it.