26. Grupo de rutas

En este capítulo, aprenderás cómo utilizar grupos de rutas en Laravel 10 para agrupar rutas relacionadas en tu aplicación. Los grupos de rutas son una forma conveniente de definir middleware y otros parámetros de rutas comunes en una sola ubicación. Te enseñaremos cómo utilizar grupos de rutas en Laravel 10 para mejorar la estructura y organización de tus rutas.


2 comentarios

Inicia sesión para comentar

Comentarios:

  • Victor Arana Flores

    Victor Arana Flores hace 1 año Destacado

    Los grupos de rutas en Laravel son una herramienta poderosa para compartir atributos de ruta, como el middleware, entre un conjunto de rutas, lo que evita tener que definir estos atributos en cada ruta individual. Además, los grupos anidados pueden fusionar de forma inteligente los atributos con su grupo principal, incluyendo middleware y condiciones "where", mientras que agregan nombres y prefijos automáticamente.

    Por ejemplo, para asignar middleware a todas las rutas dentro de un grupo, simplemente usa el método middleware antes de definir el grupo. El middleware se ejecuta en el orden en que aparecen en la matriz:

    Route::middleware(['first', 'second'])->group(function () {
        Route::get('/', function () {
            // Usa los middlewares first y second...
        });
     
        Route::get('/user/profile', function () {
            // Usa los middlewares first y second...
        });
    });
    

    También puedes definir un controlador común para todas las rutas dentro de un grupo usando el método controller:

    use App\Http\Controllers\OrderController;
    
    Route::controller(OrderController::class)->group(function () {
        Route::get('/orders/{id}', 'show');
        Route::post('/orders', 'store');
    });

    Además, los grupos de rutas también se pueden usar para manejar el enrutamiento de subdominios. A los subdominios se les pueden asignar parámetros de ruta, lo que le permite capturar una parte del subdominio para usar en su ruta o controlador. Para hacer esto, llama al método domain antes de definir el grupo:

    Route::domain('{account}.example.com')->group(function () {
        Route::get('user/{id}', function (string $account, string $id) {
            // ...
        });
    });

    El método prefix se puede usar para prefijar cada ruta en el grupo con un URI determinado, por ejemplo, puedes prefijar todos los URI de ruta dentro del grupo con "admin":

    Route::prefix('admin')->group(function () {
        Route::get('/users', function () {
            // Coincide con la URL "/admin/users"
        });
    });

    Finalmente, el método name se puede usar para prefijar cada nombre de ruta en el grupo con una cadena dada. Esto es útil para, por ejemplo, anteponer los nombres de todas las rutas del grupo con "admin":

    Route::name('admin.')->group(function () {
        Route::get('/users', function () {
            // Asigna el nombre de ruta "admin.users"...
        })->name('users');
    });

    ¡Esperamos que esta información sobre grupos de rutas en Laravel te sea útil!

  • Erik Serna Vite

    Erik Serna Vite hace 1 año

    ¿Y qué recomiendan más, Grupo de rutas o Route Resource?

    • Victor Arana Flores hace 1 año

      Las dos. Debes escoger de acuerdo a tus necesidades.