如何在Kohana PHP Framework中的url路由中显示用户名?

时间:2011-10-31 23:01:26

标签: php routing kohana kohana-3

我正在开发Kohana PHP框架。

我想在我的网址中显示'用户名'而不是控制器名称。

例如,

username = james然后如何显示

http://localhost:3000/james

而不是

http://localhost:3000/scrapbook/index => ... localhost:3000 /剪贴簿

(控制器:剪贴簿,动作:索引)

在网址中。

我的引导程序文件包含此类网址的条目。如果我手动编写..//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'));

我想要的是如果我手动登录并转到剪贴簿,我的网址应该显示'用户名'而不是控制器的名称。如果有人能指导我,我将不胜感激。 感谢

1 个答案:

答案 0 :(得分:3)

完成登录操作后,您需要使用反向路由将用户重定向到所需的网址:

// ...in your controller
function action_signin()
{
    // ...sign in logic

    $this->request->redirect(
        Route::get('profile')->uri(array(
            'username' => $username
        ))
    );
}

$username将是登录用户的用户名,只需登录即可。