繁体   English   中英

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();
});

然后它给出“错误:无法访问受保护的财产”如果有人知道如何清除此问题并运行项目,请告诉我

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();
});

也许您正在寻找应用程序版本。 然后使用 config('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();
});

暂无
暂无

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

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