为我的控制器创建路线时遇到问题。
我想在目录中组织控制器,并将一个控制器放入用户目录。但是我不知道如何访问它。
有127.0.0.1/login/index
,我希望它看起来像127.0.0.1/users/login
。我将控制器移到用户目录中,但不知道如何强制我的路由正常工作。
以下路线不起作用:
Route::set('users', 'users(/<controller>(/<action>))')
->defaults(array(
'controller' => 'login',
'action' => 'index',
));
答案 0 :(得分:1)
路由有一个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',
));
这里我们不需要默认目录值,因为它是必需的。您可以使用regex(Route :: set()方法中的第三个arg)设置值范围。
PS。我喜欢简短的帐户操作路线:
Route::set('users', '<action>', array('action' => '(login|logout|register)'))
->defaults(array(
'controller' => 'account',
));