简体   繁体   English

如何在Laravel route.php文件中使用供应商提供的控制器?

[英]How to use controller from vendor in laravel routes.php file?

I have this in routes.php : 我在route.php中有这个:

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

And I get this error : 我得到这个错误:

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

Any idea how to use controller from vendor in routes.php ? 任何想法如何在routes.php中使用供应商的控制器?

Place another \\ in front of the namespace. 在名称空间前放置另一个\\ By default, Laravel will search for controllers in App\\Http\\Controllers\\ . 默认情况下,Laravel将在App\\Http\\Controllers\\搜索App\\Http\\Controllers\\ By placing another \\ in front you tell Laravel to start searching in the root namespace. 通过在前面放置另一个\\ ,您可以告诉Laravel开始在根名称空间中进行搜索。

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

You should add '\\' in the beginning of the controller namespace: 您应该在控制器名称空间的开头添加“ \\”:

By default, routes.php assumes your controller is in 'App\\Http\\Controllers' namespace but adding '\\' will cause it to look in the root namespace. 默认情况下,routes.php假定您的控制器位于“ App \\ Http \\ Controllers”命名空间中,但是添加“ \\”会使它在根命名空间中查找。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM