I have created a controller called OddTypeController using the CRUD generator. The views folder that was created was named "odd-type". When I run the following URL:
Everything is fine if I call the controller as "odd-type" instead of oddtype.
I think the problem is how the controller is called. Both the "oddtype" and "odd-type" r parameters successfully call the OddTypeController, but one looks the folder "oddtype" in views and the other one "odd-type".
I don’t want to go through the trouble of catching these exceptions since a have a lot of controllers that contain two names (i.e. odd type) so I don’t think that both the “oddtype” and “odd-type” parameters should call the OddTypeController. It should be limited to either “index.php?r=oddtype” or “index.php?r=odd-type”. And a 404 page should be thrown instead of an exception.
It doesn’t seem to work in my case. When i call index.php?r=oddType I get “Unable to resolve the request “oddType”(404)”. When i call index.php?r=odd-type everything works fine and when I call index.php?r=oddtype (notice the case) I get “Invalid Parameter – yii\base\InvalidParamException. The view file does not exist: C:\wamp\www\bet\views\oddtype\index.php”.
I have not updated to the beta code yet, but the Gii alpha would have generated a view file folder called odd-type because of the camel case controller name. If your folder is called odd-type, try renaming it to oddtype.
Yes, you are right. On Windows (using wamp), index.php?r=oddtype/index throws an exception, while I get "Not Found (#404)" with the same URL on Ubuntu. Both oddtype and odd-type find OddTypeController.php on Windows.
Anyway, I would never run a live php site on a windows machine, but this problem should be looked.