setDefault*() name conversions bug?

I'm confused with name conversions. If I allow default routes and try open, for example, error/not-found router matches ErrorController/notFoundAction, when i'm open error/notFound, it's also math ErrorController/notFoundAction, when i'm open error/not_found it's throw exception with message that action not found on error controller. It's somehow not clear. Why use two variants of name conversion. When i'm try to set default action/controller at router class, i'm was surprised. ```php $router->setDefaultController('error'); // converts to ErrorController $router->setDefaultController('error-test'); // converts to ErrorTestController $router->setDefaultController('errortest'); // converts to ErrorTestController $router->setDefaultController('ErrorTest'); // converts to ErrortestController $router->setDefaultController('errorTest'); // converts to ErrortestController ``` Is not so as from uri. Okay, look at action conversion: Error controller contains ```php public function notFoundAction() { } ``` ```php $router->setDefaultAction('notFound'); // all ok $router->setDefaultAction('notfound'); // not converts, and throw exception $router->setDefaultAction('not-found'); // not converts, and throw exception ``` Perhaps it makes sense to use a single format conversion across the framework? For example underscored to camelcased ? myerrorcotroller -> MyErrorController mynotfound_action -> myNotFoundAction http://localhost/my%5error%5cotroller/my%5not%5found%5action -> MyErrorController/myNotFoundAction



83.4k

This is not a bug, it's the intended behavior, we can't change that because that would break the current applications