I've got the following line in my routes.php config:
'apple-macbook-pro' => 'product/product',
In my modules folder:
product/classes/controller/product.php:class Controller_Product extends Controller
Then added this to config.php:
APPPATH.'modules'.DS
When I visit /apple-macbook-pro I get:
ErrorException [ Compile Error ]: Cannot redeclare class Controller_Product
But there are no other controllers called product!
Yes, list all the ones your going to use at the top, using the "use" statement, which will "import" them into the current namespace.
Not sure if that is any better, and you will contaminate the current namespace with classes defined elsewhere, so be careful of collisions...