I’ve done some reading about hyphens vs underscores in urls and personally I prefer hyphens. I find it seems to keep the words separate where as a underscores seem to join them together in my eyes.
PHP functions don’t allow hyphens in their name so I have to use underscores.
To solve this in CodeIgniter, so the correct function name is found from the uri segment, only one simple change needs to be made.
In system/libraries/Router.php find line 153 and change this line
$segments = $this->_validate_request($segments);
to
$segments = $this->_validate_request(str_replace(“-“, “_”, $segments));
All we need to do is do a string replacement so hyphens become underscores.