KO3 Маршрутизация с каталогом - PullRequest
0 голосов
/ 06 января 2011

У меня проблема с созданием маршрута для моего контроллера.

Я бы хотел организовать контроллеры в каталогах, и я поместил один контроллер в каталог пользователей.Однако я понятия не имею, как получить к нему доступ.

Есть 127.0.0.1/login/index, и я хочу, чтобы он выглядел следующим образом 127.0.0.1/users/login.Я переместил контроллер в каталог пользователей, но понятия не имею, как заставить мой маршрут работать правильно.

Следующий маршрут не работает:

Route::set('users', 'users(/<controller>(/<action>))')
    ->defaults(array(
        'controller' => 'login',
        'action'     => 'index',
    ));

1 Ответ

1 голос
/ 07 января 2011

Маршрут имеет параметр directory, используйте его:

Route::set('users', 'users(/<controller>(/<action>))')
    ->defaults(array(
        'directory'  => 'users',
        'controller' => 'login',
        'action'     => 'index',
    ));

Также вы можете передать каталог как параметр динамического маршрута:

Route::set('users', '<directory>(/<controller>(/<action>))')
    ->defaults(array(
        'controller' => 'login',
        'action'     => 'index',
    ));

Здесь нам не нужно значение каталога по умолчанию, потому чтоего требуется.Вы можете установить диапазон значений, используя регулярное выражение (третий аргумент в методе Route :: set ()).

PS.Мне нравятся короткие маршруты для действий учетной записи:

Route::set('users', '<action>', array('action' => '(login|logout|register)'))
        ->defaults(array(
          'controller' => 'account',
        ));

Итак, http://example.com/login и http://example.com/logout будут работать.

...