php - Laravel 4路由到 Controller 方法

标签 php laravel laravel-4

我目前正在尝试按如下方式路由:

  • 如果用户获取 /account/
    • 如果 session 有account_id,则用户已登录;显示他的帐户信息
    • 如果不是,则用户未登录;显示登录/创建表单
  • 如果用户 POST /account/
    • 如果输入有create,用户想要创建账户;创建它
    • 如果没有,用户要登录;找到他的帐户,然后再次转到 /account/

我的路线是这样设置的:

Route::get('account', function() {
    if (Session::has('account_id'))
        return 'AccountsController@show';
    else
        return 'AccountsController@index';
});

Route::post('account', function() {
    if (Input::has('create')) {
        return 'AccountsController@create';
    else    
        return 'AccountsController@login';
)};

这有点像我在 Rails 中的做法,但我不知道如何指向 Controller 方法。结果我只得到返回的字符串。我没有在 Laravel 文档中找到它(我发现它真的很差,或者我搜索错误?)也没有在任何其他网络教程中找到它。

最佳答案

尝试以下操作:

Route::get('account', function() {
    if (Session::has('account_id')) {
        $action = 'show';
        return App::make('AccountsController')->$action();  
    }
    else {
        $action = 'index'; 
        return App::make('AccountsController')->$action();
    }
});

Route::post('account', function() {
    if (Input::has('create')) {
        $action = 'create';
        return App::make('AccountsController')->$action();
    }
    else {
        $action = 'login';
        return App::make('AccountsController')->$action();
    }
)};

关于php - Laravel 4路由到 Controller 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21103650/

相关文章:

javascript - 每周增加两次数量

php - 如何解析 Twitter api 返回的 json 数据并在我的网页上使用它?

php - Laravel 5.2 注册后将数据存储在另一个数据库中

php laravel 的选择可能是黑客的一个错误

php - 更新表中的排名

php - 地址栏输入与链接

mysql - 如何访问数据透视表列

php - Laravel 5.6 登录尝试失败 - 登录提交时返回方法 RequestGuard::attempt 不存在

php - 无法在 Laravel 中捕获 Cartalyst\Sentinel\Checkpoints\NotActivatedException

laravel - 解释 Laravel 多态关系