【发布时间】:2014-11-20 07:52:41
【问题描述】:
我有一个包含 2 组路线的 laravel 应用:
Route::group(array('prefix' => 'api'), function()
{
Route::post('/login', ['uses' => 'AuthenticationController@apiLogin']);
}
Route::group(array('prefix' => 'admin'), function()
{
Route::post('/login', ['uses' => 'AuthenticationController@adminLogin']);
}
为了节省时间并防止编写重复代码,我想将 apiLogin() 和 adminLogin() 函数压缩为一个函数:login()。我还想根据调用函数的路由返回不同的东西。
如果请求来自/api/login,我想返回Response::json($apiResponse)。如果请求来了/admin/login我想返回Redirect::('route.to.redirect.to')
有什么方法可以告诉我从哪里调用控制器函数? (最好不解析网址)
【问题讨论】:
-
我不知道在 laravel 中这样做的方法,但为了防止代码重复,我采取了不同的方法。让您的 API 控制器处理所有登录逻辑,并从您的直接登录控制器简单地调用您的 API 登录。
-
谢谢@JonathanCrowe,如果没有任何其他答案可以提供更好的解决方案,我将采用这种方法。