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

bencepentek's avatar

bencepentek liked a comment+100 XP

6mos ago

bencepentek's avatar

bencepentek liked a comment+100 XP

6mos ago

Laravel API Master Class: Ep 4, How to Version Your API

@Bionik6 thanks but this is not working in my test, because the last withRouting() overwrite the previous. I have found this solution:

->withRouting(
        web: __DIR__.'/../routes/web.php',
        api: __DIR__.'/../routes/api.php',
        commands: __DIR__.'/../routes/console.php',
        health: '/up',
        then: function () {
            Route::middleware('api')
                ->prefix('api/v1')
                ->group(__DIR__.'/../routes/api_v1.php');
        }
bencepentek's avatar

bencepentek liked a comment+100 XP

6mos ago

Laravel API Master Class: Ep 4, How to Version Your API

@Bionik6 my solution with Laravel 11 bootstrap/app.php file:

...
return Application::configure(basePath: dirname(__DIR__))
    ->withRouting(
        web: __DIR__.'/../routes/web.php',
        api: [// <-- we can use an array here
            __DIR__.'/../routes/api.php',
            __DIR__.'/../routes/api_v1.php',
        ],
        commands: __DIR__.'/../routes/console.php',
        health: '/up',
    )
...

and inside api_v1.php file:

...
Route::prefix('v1')->group(function () {
    Route::apiResource('tickets', \App\Http\Controllers\Api\V1\TicketController::class);
});
...
bencepentek's avatar

bencepentek liked a comment+100 XP

6mos ago

Laravel API Master Class: Ep 4, How to Version Your API

In Laravel 11, you'll load the custom api_v1.php file in booststrap/app.php, and it will look like this:

return Application::configure(basePath: dirname(__DIR__))
    ...
    ->withRouting(
        api: __DIR__.'/../routes/api_v1.php',
        apiPrefix: 'api/v1',
    )
	...