We always preach (in the IRC channel #cakephp) to add routing when you are done developing your application. In reality though, it isn’t always that easy if you are following the book. Routing isn’t just changing the routes, sometimes it is also changing the links across your site. It could even be worse if a value is needed in the URL that isn’t yet available. You will end up changing your model code as well to get it from the database. You know routes and links like these:
array('controller' => 'posts', 'action' => 'show'),
array('pass' => array('slug'))
echo $this->Html->link('Routing isolation in CakePHP', array(
'action' => 'show',
'slug' => $slug
Another problem with this is that you have values in your links that when removed from the route turn into named parameters. You will get something like /post/slug:routing-isolation-in-cakephp. So you end up changing your views again. The problems don’t end here though.