【问题标题】:Laravel 4 place username to URL using routesLaravel 4 使用路由将用户名放置到 URL
【发布时间】:2014-02-05 02:21:43
【问题描述】:

我对 Laravel 还很陌生,所以任何帮助和指点都将不胜感激。 我已经创建了一个登录和注册程序。但是我在创建路由时遇到了麻烦。我的目标是当用户成功登录时,我希望将用户名作为 url 参数包含在内,然后根据该用户名输出个人资料页面。

问题 1: 例子: $UserName = 'seLinux';

  • 用户名将被放置到url; www.mydomain.com/seLinux

然后路由将处理这个以输出个人资料页面。我创建的路线是这样的。但我想将它传递给控制器​​,而不是在路由内创建方法。

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

// 问题 2 我如何将 $user_name 传递给访问配置文件方法的控制器而不创建循环。

});

任何帮助将不胜感激。谢谢。

【问题讨论】:

    标签: url laravel laravel-4 laravel-routing


    【解决方案1】:

    在你的路线中有这样的东西:

     Route::get('profile/{user_name}', array(
            'uses' => 'UsersController@action'
     ));
    

    在用户控制器中:

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

    希望对您有所帮助。

    【讨论】:

    • 谢谢 har2vey。在名为 UsersController.php 的控制器文件中,我包含了一个方法 getProfile()。在我的路由文件中,当我使用 Route::controller('method', 'UsersController') 时,我可以通过 url domain.com/Profile 简单地访问该方法,而无需执行 get 操作。但是当我使用你给我的代码时,我必须以“domain.com/getProfile”的形式访问该方法。有什么区别?
    • 对不起,刚才只是复制粘贴您的路线代码,我已经在上面更新了。这样,您应该通过 url domain.com/profile/[username] 重定向用户配置文件,因为您不应该将路由变量放在域名之后,因为它会掩盖其他路由。
    猜你喜欢
    • 2014-08-17
    • 2015-03-07
    • 2015-02-09
    • 2013-06-20
    • 2014-07-28
    • 1970-01-01
    • 2012-02-16
    • 2016-04-23
    • 2021-02-08
    相关资源
    最近更新 更多