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

use*_*479 5 php routing kohana kohana-3

我正在研究Kohana PHP框架.

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

例如,

username = james然后如何显示

HTTP://本地主机:3000 /詹姆斯

代替

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将是刚刚登录的登录用户的用户名。