Lumen 5.3 未定义变量:闭包

Posted

技术标签:

【中文标题】Lumen 5.3 未定义变量:闭包【英文标题】:Lumen 5.3 Undefined variable: closure 【发布时间】:2017-05-11 23:57:11 【问题描述】:

来自作曲家我从 laravel/lumen 创建了一个项目。我取消了路由中间件的注释

$app->routeMiddleware([
    'auth' => App\Http\Middleware\Authenticate::class,
]);` 

我的路由添加了 auth 中间件。

$app->get('/', ['middleware'=>'auth'], function () use ($app) 
    return $app->version();
);

我收到ErrorException in RoutesRequests.php line 656: Undefined variable: closure

我用谷歌搜索了这个,它在 5.2 中似乎是一个问题,但我下载了 5.3。没有中间件我得到Lumen (5.3.3) (Laravel Components 5.3.*)

【问题讨论】:

App\Http\Middleware\AuthenticationMiddleware::class 该类被称为 Authenticate 而不是 AuthenticationMiddleware。 【参考方案1】:

闭包应该是数组中的最后一项。将您的路线更改为:

$app->get('/', ['middleware'=>'auth', function () use ($app) 
    return $app->version();
]);

【讨论】:

以上是关于Lumen 5.3 未定义变量:闭包的主要内容,如果未能解决你的问题,请参考以下文章

这里变量的行为是啥,即闭包。输出未定义,我不明白

未定义的方法 Laravel\Lumen\Application::booted()

未定义命令“服务”(Lumen-Laravel)

Lumen:在 routes.php 第 17 行:升级到 5.5 后调用未定义的方法 Laravel\Lumen\Application::post()。*

Lumen 5.2 中未定义命令“make:seeder”

Lumen (Laravel) Eloquent php artisan make:model 未定义