Laravel 项目在 运行 php artisan serve 命令时给出未定义的 属性 错误

Laravel project gives Undefined property error when run php artisan serve command

我有一个 Laravel 项目, 此代码来自 routes/web.php

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

当我尝试 运行 'php artisan serve' 它给出未定义 属性: Illuminate\Routing\Router::$app 错误,

我尝试添加容器而不是应用程序

$router->get('/', function () use ($router) {
    return $router->container->version();
});

然后它给出 'Error: cannot access protected property' 如果有人知道如何解决这个问题和运行项目

,请告诉我
ErrorException: Undefined property: Illuminate\Routing\Router::$app

at /Applications/XAMPP/xamppfiles/htdocs/em2/routes/web.php:18 at Illuminate\Foundation\Bootstrap\HandleExceptions->handleError(8, 'Undefined property: Illuminate\Routing\Router::$app', '/Applications/XAMPP/xamppfiles/htdocs/em2/routes/web.php', 18, array('router' => object(Router))) (/Applications/XAMPP/xamppfiles/htdocs/em2/routes/web.php:18) at Illuminate\Routing\RouteFileRegistrar->{closure}()

使用 app() 辅助方法从任何地方访问应用程序实例。试试这个

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

也许您正在寻找应用程序版本。然后使用配置('app.version');分别应用程序()->版本()。 @aimme 已经说过的

$router->get('/', function () {
    return config('app.version');
});

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

两者都会返回应用程序版本。您在中定义的应用程序版本 config/app.php.

'version' => env('APP_VERSION', '1.1.1'),

routes/web.php 中使用 Route Facade 进行路由。

use Illuminate\Support\Facades\Route;

Route::get('/', function (){
    app()->version();
});