我在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中使用供应商的控制器?
答案 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');