构建一个在Laravel中使用虚URL的配置文件页面

时间:2014-06-12 10:30:40

标签: php laravel routing

我正在尝试构建一个适用于虚荣网址的个人资料页面。

我们的想法是http://domain.com/user123应加载user123的个人资料页面。

到目前为止,这是我在路由

方面所尝试的
Route::get('/{username}', function()
{
    $user = User::where('username', '=' , $username);

if($user->count()) {
    $user = $user->first();

    return View::make('profilepage')
        ->with('username', $user);
})->where('username', '^[a-zA-Z][a-zA-Z0-9\.]{3,20}$');

两个问题:

  1. 当我运行我的测试服务器并尝试此操作时,我在第3行 - ErrorException Undefined variable: username中收到此错误。我已经仔细检查了列名与表中的名称相匹配,但我还不完全确定我是否正确地执行此操作。

  2. 一旦我设法路由到正确的页面,我是否正确地说我可以直接访问变量$user?或者我需要使用Session::get()

1 个答案:

答案 0 :(得分:1)

  1. 函数(闭包)必须带一个参数:

    路由::获取(' / {用户名}',功能($ username){

    $ user = User :: where(' username',' =',$ username);

    if($ user-> count()){     $ user = $ user-> first();

    return View::make('profilepage')
        ->with('username', $user);
    

    }) - >其中('用户名',' ^ [a-zA-Z] [a-zA-Z0-9。] {3,20} $&#39 );

  2. 您可以使用Session::get('username')

  3. 访问它