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