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

时间:2015-10-16 12:42:28

标签: php laravel namespaces lumen

小组(或回调)中的命名空间不起作用(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');
});

1 个答案:

答案 0 :(得分:3)

要使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');
});