Cakephp 3 enrutamiento con parámetro de idioma
Estoy tratando de convertir cakephp 2.xa 3.x. Yo estaba usandoRouter::connect()
reglas, pero trato de convertirlas a la versión de alcance.
Con respecto a la regla de enrutamiento myold, enconfig/routes.php
Yo agregué esto.
Router::defaultRouteClass('Route');
Router::scope('/', function ($routes) {
$routes->connect('/:language/:controller/:action/*', ['language' => 'ar|de|en|fr']);
$routes->connect('/:language/:controller', ['action' => 'index', 'language' => 'ar|de|en|fr']);
$routes->connect('/:language', ['controller' => 'Mydefault', 'action' => 'index', 'language' => 'ar|de|en|fr']);
$routes->redirect('/gohere/*', ['controller' => 'Mycontroller', 'action' => 'myaction'], ['persist' => array('username')]);
$routes->connect('/', ['controller' => 'Mydefault', 'action' => 'index']);
$routes->fallbacks('InflectedRoute');
});
Pero esto falla enexample.com/en/works
. Me sale este error:Error: worksController could not be found.
Porque mi archivo de controlador esWorksController.php
.¿Se colgó la parte del nombre del controlador para sentencia casein cakephp 3?http://book.cakephp.org/3.0/en/intro/conventions.html#controller-conventions
tambiénexample.com/foo/bar
da este error:Error: barController could not be found.
. Perofoo
es controlador ybar
es acción¿Cómo puedo solucionar este problema de enrutamiento?
Editar:
CambiandoRoute::defaultRouteClass('Route')
aRoute::defaultRouteClass('InflectedRoute')
problema resuelto 1. Pero el problema 2 existe.