Как показать имя пользователя в URL-маршруте в Kohana PHP Framework? - PullRequest
5 голосов
/ 01 ноября 2011

Я работаю над платформой Kohana PHP.

Я хочу показать имя пользователя вместо имени контроллера в своем URL.

Например,

username =Джеймс тогда, как показать

http://localhost:3000/james

вместо

http://localhost:3000/scrapbook/index => ... localhost: 3000 / записки

(контроллер: альбом, действие: индекс)

в URL.

В моем файле начальной загрузки есть запись для таких типов 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'));

Что мне нужно, если я войду в свой аккаунт и войду в альбом, то в моем URL должно появиться «имя пользователя», а не имя контроллера.Я буду признателен, если кто-нибудь может направить меня в этом.Спасибо

1 Ответ

3 голосов
/ 02 ноября 2011

Когда вы завершите действие, войдя в систему, вы захотите перенаправить пользователя на нужный URL-адрес, используя обратную маршрутизацию:

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

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

$username будет любым именем пользователя вошедшего в систему пользователя, которое только что вошло в систему.

...