I want to introduce a concept of "plugins" to my module. In this case the plugin merely needs to supply a single function that returns data. Is the best way to do this to have the plugin call a register function with the name of a function (and then call "eval"?). This is probably more of a PHP question than a Drupal question. Oh yes and is there documentation somewhere on what code Drupal automatically "includes"?
Sorry - I don't have a huge amount of time to talk about it, but check out my game.module. It does what you're asking, using a hook based system, but with .inc files. It's probably more complicated than what you need, but look for the following in the CVS [1]: The following routines duplicate the internal nodeapi and module loading of Drupal core, but with a focus on .inc files and as-needed loading. And specifically these functions: game_system_list game_include_list game_include_invoke game_include_invoke_all game_include_hook And for example: // load in all race includes $includes = game_system_list('races'); // for each one loaded... foreach ($includes as $include) { // call the 'info' hook and store results in $shelf_item. $shelf_item = game_include_invoke($include->name, 'info'); } I'll try to answer any questions a bit later. [1] http://cvs.drupal.org/viewcvs/drupal/contributions/modules/game/ -- Morbus Iff ( IGNORANCE IS BLISS, AND WE ARE BLISSED OFF ) Technical: http://www.oreillynet.com/pub/au/779 Culture: http://www.disobey.com/ and http://www.gamegrene.com/ icq: 2927491 / aim: akaMorbus / yahoo: morbus_iff / jabber.org: morbus