如何在laravel routes.php文件中使用供应商的控制器?

时间:2017-03-24 12:52:04

标签: php laravel laravel-5.2

我在routes.php中有这个:

Route::post('myFunction', ['uses' => 'MyPackage\MyController@updateMeta']);

我收到了这个错误:

ReflectionException in Route.php line 280:
Class App\Http\Controllers\MyPackage\MyController does not exist

任何想法如何在routes.php中使用供应商的控制器?

2 个答案:

答案 0 :(得分:5)

将另一个\放在命名空间的前面。默认情况下,Laravel将在App\Http\Controllers\中搜索控制器。通过在前面放置另一个\,您可以告诉Laravel开始在根命名空间中进行搜索。

Route::post('myFunction', ['uses' => '\MyPackage\MyController@updateMeta']);

答案 1 :(得分:1)

你应该添加' \'在控制器命名空间的开头:

默认情况下,routes.php假定您的控制器位于“App \ Http \ Controllers'命名空间,但添加' \'将使它在根命名空间中查找。

Route::get('/vendor-control', '\Vendor1\Vendormanager\controllers\Vendor1Controller@view');