Instead of having each module add a .functions file how about quickly string parsing .module files for function names? Upon encountering a new .module drupal grabs all function names (not compiled by PHP but by reading it in as a text file) and caches them in the database. This way drupal will have its list of module functions cached, no PHP compile is necessary until functions are required, and module developers won't have to change or add anything. Gerhard Killesreiter wrote:
On calling admin/modules we should not include the modules, but include a small .functions file. This file should (for each module) tell us which functions are defined in which file. By this approach it would be possible to split each file up in a number of small files and still let Drupal know where the functions are defined. The array of functionname->file associations will be stored and if a function is called through a wrapper such as module_invoke Drupal would be able to include the neccessary file and execute the function. This would of course require that module authors call all external functions through module_invoke.