Search code examples
phplaravellaravel-8artisan-serve

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

Solution

  • 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'),