我目前正在尝试按如下方式路由:
- 如果用户获取
/account/
- 如果 session 有
account_id
,则用户已登录;显示他的帐户信息 - 如果不是,则用户未登录;显示登录/创建表单
- 如果 session 有
- 如果用户 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/