Laravel 11 RouteServiceProvider

Laravel 11 RouteServiceProvider Configuration Example

Laravel 11 RouteServiceProvider Configuration Example. laravel 11 removed RouteServiceProvider.php file, they give an options to configure about routes in app.php. You Can Learn Laravel 11 Reverb Real-Time Notifications

So, you will have a question if i want to create a custom route file then how to define without RouteServiceProvider. If lower then laravel 11 version than you can do it with RouteServiceProvider.php file. But laravel 11 provides options in app.php file to define custom routes file options and you can customize routes from that file as well. Learn Laravel Official

Laravel 11 RouteServiceProvider Configuration Example

Before Laravel 11 you are defining custom route file like the below code:

app/Providers/RouteServiceProvider.php

public function boot()
{
  $this->routes(function () {
    Route::middleware('web')
            ->prefix('admin')
            ->group(base_path('routes/admin.php'));
  });
}

Now, In Laravel 11 Version, You can define custom route file like the following way:

bootstrap/app.php

<?php

use Illuminate\Foundation\Application;
use Illuminate\Foundation\Configuration\Exceptions;
use Illuminate\Foundation\Configuration\Middleware;
use Illuminate\Support\Facades\Route;

return Application::configure(basePath: dirname(__DIR__))
    ->withRouting(
        web: __DIR__.'/../routes/web.php',
        commands: __DIR__.'/../routes/console.php',
        channels: __DIR__.'/../routes/channels.php',
        health: '/up',
        then: function () {
            Route::middleware('web')
                ->prefix('admin')
                ->group(base_path('routes/admin.php'));
        }
    )
    ->withMiddleware(function (Middleware $middleware) {
        //
    })
    ->withExceptions(function (Exceptions $exceptions) {
        //
    })->create();

Next, you need to create custom admin.php file like the following way:

routes/admin.php

<?php

use Illuminate\Support\Facades\Route;

Route::get('/dashboard', [App\Http\Controllers\HomeController::class, 'index']);
Route::get('/users', [App\Http\Controllers\UserController::class, 'index']);
Route::get('/posts', [App\Http\Controllers\PostController::class, 'index']);

Now, you can run the following command to see the list of routes:

php artisan route:list
Laravel 11 RouteServiceProvider Configuration Example

I hope it can help you…

This Post Has One Comment

Leave a Reply