繁体   English   中英

流明路径组错误:“未定义变量:应用程序”

[英]Lumen route groups error: “Undefined variable: app”

我刚刚用这个非常简单的路由文件创建了一个新的流明应用程序:

<?php

$app->get('/', function () {
  return 'Hello World';
});


$app->group(['prefix' => '/admin'], function () {

  $app->get('/user', function () {
    return 'Admin user';
  });

});

我得到这个错误:

lumen.ERROR: exception 'ErrorException' with message 'Undefined variable: app' in /path/to/my/lumen/project/app/Http/routes.php:10

怎么了?

请注意,如果删除路由组,一切都会很好。

问题是您在group调用中使用的闭包:

$app->group(['prefix' => '/admin'], function () {

        $app->get('/user', function () {
        return 'Admin - user';
    });

});

您必须将对$app的引用传递给它:

$app->group(['prefix' => '/admin'], function () use ($app) {

        $app->get('/user', function () {
        return 'Admin - user';
    });

});

laravel网站上的lumen文档包含错误,但github上的文档已修复。 事实证明,应用程序实例作为参数传递给回调,因此您可以取消use ($app)位,而可以这样编写:

$app->group(['prefix' => '/admin'], function ($app) {

        $app->get('/user', function () {
        return 'Admin - user';
    });
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM