$router->group(['namespace'=>'\App\Http\Controllers','prefix' => 'api'], function () use ($router) {
$router->post('register', 'UserController@register');
$router->post('login', 'UserController@login');
$router->post('info', 'UserController@info');
$router->post('logout', 'UserController@logout');
});
laravel的路由可以使用Route::get('/user', [UserController::class, 'index']);
看了一下源码,lumen 没办法支持 Laravel 中的这种写法,不过可以扩展一下,编辑一下 bootstrap/app.php 里面,有关
$app
这个变量初始化的地方,改成下面这样。(注:这段代码是我手敲的,未做完整测试)
然后就可以像下面这样使用了,并且 IDE 可以提示跳转。
在旧版的 PhpStorm 上,这样可能还是不可以跳转,因为
\Laravel\Lumen\Routing\Router::get
方法的第二个参数的签名是mixed
类型的,并不是callback
,所以 IDE 可能还是无法识别。可能还需要添加一个提示文件(在 laravel-ide-helper 里面加一下也可以)。
当然,如果你只需要提示+跳转的话,还有一个办法,那就是发动钞能力,PhpStorm 有个 Laravel Idea 是可以的,不过这是一个付费插件,3$/mo
另外,不太建议使用 lumen 作为新项目,因为项目复杂了之后,都会变成 Laravel 的形状。