在路由上调用多个控制器

时间:2018-04-19 14:44:01

标签: php laravel controller routes

帮助我一个疑问,我在laravel中有一个应用程序,我想在同一个路径中调用几个控制器,是否可能?

我已经尝试过了,但它不起作用

$api->get('document', ['as' => 'system.api.manager.v1.document.listDoc1', 'shield' => ['system.manager.document.list'], 'any' => true, 'uses' => 'Doc1Controller@grid']);
$api->get('document', ['as' => 'system.api.manager.v1.document.listDoc2', 'shield' => ['system.manager.document.list'], 'any' => true, 'uses' => 'Doc2Controller@grid']);
$api->get('document', ['as' => 'system.api.manager.v1.document.listDoc3', 'shield' => ['system.manager.document.list'], 'any' => true, 'uses' => 'Doc3Controller@grid']);

2 个答案:

答案 0 :(得分:0)

您可以使用继承。 将GreatController定义为

的父级

"Doc1Controller, Doc2Controller, Doc3Controller"

然后将您的标准方法,函数移至GreatController。我这样做。您也可以在_construct()

中定义所有相同的方法

答案 1 :(得分:0)

您可以使用闭包而不是直接控制器调用。你打电话给你的控制器