在Laravel中构建一个与虚荣url一起工作的个人资料页面


Building a profile page that works with vanity URLs in Laravel

我正在尝试建立一个与虚荣url一起工作的配置文件页面。

这个想法是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. 函数(闭包)必须接受一个参数:

    路线:get (/{username},函数(用户名){

    $ user =用户::('用户名 ', '=' , $

    用户名);

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

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

    })——>("用户名","^ [a-zA-Z] [a-zA-Z0-9]{20} 3美元");

  2. 可以通过Session::get('username')

  3. 访问