2014-01-16 6 views
2

Я довольно новичок в Laravel, поэтому любая помощь и указатели будут оценены. Я уже создал процедуру регистрации и регистрации. Но у меня проблемы с созданием маршрутов. Моя цель заключается в том, что когда пользователь успешно регистрируется, я хочу включить имя пользователя в качестве параметра url, а затем вывести страницу профиля на основе этого имени пользователя.Laravel 4 поместите имя пользователя в URL, используя маршруты

проблема 1: пример: $ UserName = 'seLinux';

  • имя пользователя будет помещено на адрес; www.mydomain.com/seLinux

маршрут будет обрабатывать это для вывода страницы профиля. Маршрут, который я создал, - это. но я хочу передать его контроллеру, а не создавать метод внутри маршрута.

Route::get('www.domain.com/{user_name}', function($user_name) {

// problem 2 how do i pass the $user_name to a controller accessing the profile method and not create a loop.

});

любая помощь будет принята с благодарностью. Спасибо.

ответ

3

Нечто подобное в вашем маршруте:

Route::get('profile/{user_name}', array(
     'uses' => '[email protected]' 
)); 

В UsersController:

public function action($user_name) 
{ 
    //controller functions here 
} 

Надежда, что помогает.

+0

Спасибо, har2vey. В моем контроллере с именем UsersController.php файл i включен метод getProfile(). и в моем файле маршрутов. Когда я использую 'Route :: controller ('method', 'UsersController'), я могу просто получить доступ к этому методу через url' domain.com/Profile' без действия get. Но когда я использую код, который вы мне дали, мне нужно получить доступ к методу как «domain.com/getProfile». Какая разница? – choy

+0

Простите, просто скопировав код вашего маршрута раньше, я обновил его выше. При этом вы должны перенаправить профиль пользователя через url ** domain.com/profile/[имя пользователя] **, потому что вы не должны указывать переменную маршрута после имени домена, поскольку она будет маскировать другие маршруты. – har2vey

Смежные вопросы