I have a custom MVC framework that is in a constant state of evolution. There's a long standing debate with a co-worker how the routing should work. Considering the following directory structure:/core/Router.php/mvc/Controllers/{Public controllers}/mvc/Controllers/Private/{Controllers requiring valid user}/mvc/Controllers/CMS/{Controllers requiring valid user and specific roles}The question is: Where should the current User's authentication be established: in the Router, when choosing which controller/directory to load, or in each Controller?My argument is that when authenticating in the Router, an Error Controller is created instead of the requested Controller, informing you of your mishap; And the directory structure clearly indicates the authentication required.His argument is that a router should do routing and only routing. Leave it to the Controller to handle it on a case by case basis. This is more modular and allows more flexibility should changes need to be made by the router.https://codereview.stackexchange.com/questions/26345/php-mvc-custom-routing-mechanism alluded to it, but the topic was of a different nature.Alternative suggestions would be welcomed as well.
Best Practices PHP mvc routing
php;mvc