不能在controller.index()中使用$ request和lumen / laravel(索引应该与App \ Http \ Controllers \ Controller :: index兼容)

时间:2016-08-03 11:25:38

标签: php laravel routing lumen

使用流明5.2,我正在设置一个可以进行资源查询的GET操作:

GET /expedientes?param1=value1&..paramn=valuen

在我的路线中,我有:

$app->get('expedientes', 'ExpedientesController@index');

在我的控制器中:

class ExpedientesController extends Controller

  public function index(Request $request){
    if ($request->has('name')) {
       return $request->input('name');
    }
  }
}

我获得的错误:

Declaration of App\Http\Controllers\ExpedientesController::index(Illuminate\Http\Request $request) should be compatible with App\Http\Controllers\Controller::index

有趣的是,如果我将控制器重命名为与“index”不同的名称,例如“indexa”(在控制器和路由文件中),一切都很完美。

所以我的问题是:使用标准函数名“index”获取资源列表,这是访问请求的正确方法吗?

非常感谢,问候,

可能的解决方案#1:

我发现流明不使用与laravel(lumen: App\Http\Controllers\Controller class not found with fresh install)相同的控制器。

使用

use Laravel\Lumen\Routing\Controller as BaseController;

在控制器中,它继承了流明的控制器

class ExpedientesController extends BaseController

允许我在索引方法中使用Request参数。

但我不知道。这是正确的方法吗?即使它是,在laravel中这样做的方法是什么?

0 个答案:

没有答案