Cakephp 3 маршрутизация с языковым параметром

Я пытаюсь конвертировать CakePHP 2.x в 3.x. Я использовалRouter::connect() правила, но я пытаюсь преобразовать их в версию объема.

Что касается правила маршрутизации myold, вconfig/routes.php Я добавил это.

  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');
});
Но это не вexample.com/en/works, Я получаю эту ошибку:Error: worksController could not be found. Потому что мой файл контроллераWorksController.php.

Часть имени диспетчера повешена, чтобы приговорить casein cakephp 3?http://book.cakephp.org/3.0/en/intro/conventions.html#controller-conventions

Такжеexample.com/foo/bar выдает эту ошибку:Error: barController could not be found., Ноfoo контроллер иbar это действие.

Как я могу исправить эту проблему маршрутизации?

Редактировать:
измененияRoute::defaultRouteClass('Route') вRoute::defaultRouteClass('InflectedRoute') решенная проблема 1. Но проблема 2 существует.

Ответы на вопрос(3)

Ваш ответ на вопрос