use*_*479 5 php routing kohana kohana-3
我正在研究Kohana PHP框架.
我想在我的网址中显示"用户名"而不是控制器名称.
例如,
username = james然后如何显示
代替
http:// localhost:3000/scrapbook/index => ... localhost:3000 /剪贴簿
(控制器:剪贴簿,动作:索引)
在网址中.
我的引导程序文件包含此类URL的条目.如果我手动编写..//localhost:3000/james,它会将我带到请求的页面.
//Viewing a user's profile or account details - user/action
Route::set('profile', '(<username>(/<action>(/<id>)))',
array(
'username' => '([A-Za-z0-9\-]+)'))
->defaults(array(
'controller' => 'scrapbook',
'action' => 'index'));
Run Code Online (Sandbox Code Playgroud)
我想要的是如果我手动登录并转到剪贴簿,我的网址应该显示'用户名'而不是控制器的名称.如果有人能指导我,我将不胜感激.谢谢
小智 3
完成登录操作后,您需要使用反向路由将用户重定向到所需的 URL:
// ...in your controller
function action_signin()
{
// ...sign in logic
$this->request->redirect(
Route::get('profile')->uri(array(
'username' => $username
))
);
}
Run Code Online (Sandbox Code Playgroud)
$username
将是刚刚登录的登录用户的用户名。