简体   繁体   中英

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

I have a Laravel project, this code from routes/web.php

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

When I try to run 'php artisan serve' it gives Undefined property: Illuminate\\Routing\\Router::$app error,

I tried adding container instead of app

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

then it gives 'Error: cannot access protected property' Please let me know if anyone knows how to clear this issue and run the project

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

use app() helper method to access app instance from anywhere. try this

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

Perhaps you looking for app Version. then use config('app.version'); resp.app()->version(). What @aimme has already said

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

OR

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

Both will returned the app version. The App Version you define in the config/app.php.

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

In routes/web.php use Route Facade for routing.

use Illuminate\Support\Facades\Route;

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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