无法识别流明中的 $router 变量的问题

问题描述

我正在以模块化方式创建模块。

但是定义新路由有一个问题,就是$router变量在新路由中不识别。

但如果这样使用,问题就解决了:$this->app->router->get()

但我想使用 $router 变量,就像 web.PHP 路由认值一样。有人可以帮忙吗?

UserServiceProvider.PHP

use Illuminate\Support\ServiceProvider;

class UserServiceProvider extends ServiceProvider
{
    public function boot()
    {
        $this->loadRoutesFrom(__DIR__ . '/../Routes/user_route.PHP');
    }
}

user_route.PHP

/** @var Laravel\Lumen\Routing\Router $router */

//it not work
$router->get('/',function () use ($router) {
    return $router->app->version();
});

// it works
$this->app->router->get('module/test',function () {
  return 'yohooooo';
});

解决方法

您不能在自己的页面中使用 $route 变量。如果你想缩短代码,你可以尝试如下使用。

$route = $this-app->router;