问题描述
我正在以模块化方式创建模块。
但是定义新路由有一个问题,就是$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;