Don’t drop the support for modules.
From my point of view, i want to be able to “install/uninstall” modules when i need to and i don’t like that i have to define them in the config file, why should i do that ? a module is a self contained app so i don’t want to be tide up by a config file, makes sense ?
Another thing that i don’t like in the current implementation is the “default” controller of a module.
The "default" controller needs to have the name of the module, not be named default.
In my opinion, to allow more flexibility, the request flow should be like so:
//url: http://mydomain.com/forum/index/
->Look for /modules/forum/modules/index/indexController.php
–>If found, check if it has actionIndex() method, if it does, run it, else search deeper
—>If not found look for /modules/forum/IndexController.php
----->If it is found then look for the actionIndex() method and if found, run it, else search deeper;
----->If not found go and look for /modules/forum/ForumController.php (default controller)
-------->If found then look for actionIndex() inside it and if found, run it else, run missingAction();
-------->If not found throw a 404.
Now, having in mind the above schema, imagine how many options we would have to structure our code for a request like: http://mydomain.com/forum/threads/top/
Just my two cents…