在路由中不存在带前缀的类控制器


Laravel, Class controller does not exist in route with prefixes

命名空间在组(或回调)不工作(Lumen, Laravel)?我想把routes.php中的代码移到控制器中。所以!

use App'Http'Controllers;
// OK!
$app->get('path', 'BarController@getId');
$app->group(['prefix' => 'foo'], function ($app) {
    // OK!
    $app->get('path', ''App'Http'Controllers'BarController@getId');
    // Class BarController does not exist
    $app->get('path', 'BarController@getId');
});

要使use语句正常工作,您必须使用::class语法:

use App'Http'Controllers'BarController;
$app->get('path', BarController::class.'@getId');

或者,您可以将名称空间添加到您的组:

$app->group(['prefix' => 'foo', 'namespace' => 'App'Http'Controllers'], function ($app) {
    $app->get('path', 'BarController@getId');
});