簡體   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