Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

bernardthedavid's avatar

Trying to have access to route parameters inside group routing

I'm trying to have access to {module} inside my function, but it returns me the following error :

Too few arguments to function {closure}(), 1 passed in /Users/Bernard/PROJECTS/myproject/vendor/laravel/lumen-framework/src/Routing/Router.php on line 62 and exactly 2 expected

Here's my code :

$app->router->group([
    'namespace' => 'App\Http\Controllers',
], function ($router) {
    $router->group([
        'namespace'  => $version,
        'prefix'     => "api/$version/{contest}/{module}",
        'middleware' => 'App\Http\Middleware\COMMON\DefineContest',
    ], function ($request, $module) use ($router) {
        dd($module);
        require __DIR__ . "/../routes/v1/{module}.routes.php";
    });
});
0 likes
3 replies
furqanDev's avatar

Access it inside use

$app->router->group([
    'namespace' => 'App\Http\Controllers',
], function ($router) {
    $router->group([
        'namespace'  => $version,
        'prefix'     => "api/$version/{contest}/{module}",
        'middleware' => 'App\Http\Middleware\COMMON\DefineContest',
    ], function ($request) use ($router, $module) {
        dd($module);
        require __DIR__ . "/../routes/v1/{module}.routes.php";
    });
});
furqanDev's avatar

@bernardthedavid Try it this way

$app->router->group([
    'namespace' => 'App\Http\Controllers',
], function ($router) use ($module) {
    $router->group([
        'namespace'  => $version,
        'prefix'     => "api/$version/{contest}/{module}",
        'middleware' => 'App\Http\Middleware\COMMON\DefineContest',
    ], function ($request) use ($router, $module) {
        dd($module);
        require __DIR__ . "/../routes/v1/{module}.routes.php";
    });
});

Please or to participate in this conversation.