Rutas tipo web.com/empresa/accion en Laravel [SOLUCIONADO]

Creando rutas personalizadas en Laravel

Para comenzar, es esencial entender que Laravel brinda una manera sencilla y fluida de definir las rutas de nuestras aplicaciones web. Sin embargo, para poder personalizarlas de acuerdo a nuestro interés, tal como la estructura web.com/empresa/accion, es necesario explorar un poco más a fondo el enrutamiento de Laravel.

// Ruta básica en Laravel
Route::get('empresa/accion', function () {
    return 'Hola Mundo!';
});

Aquí, hemos definido una ruta estándar en Laravel. Pero, ¿qué sucede si queremos incluir más parámetros en la ruta o tener un control más flexible?

Rutas de parámetros múltiples

A menudo, necesitamos manejar varios parámetros en nuestras rutas. En nuestro caso, queremos tener una ruta como web.com/empresa/{nombre_de_la_empresa}/accion/{accion}. Con Laravel, esto puede lograrse de manera fácil y rápida. Veamos cómo:

// Definición de una ruta con múltiples parámetros
Route::get('empresa/{nombre_empresa}/accion/{accion}', function ($nombre_empresa, $accion) {
    return 'Empresa:' . $nombre_empresa . ', Acción:' . $accion;
});

Tal como puedes ver, Laravel de manera automática extraerá las partes de la URL basado en las llaves {} en la definición de la ruta y te dará esas partes como argumentos en la función de cierre.

Rutas nombradas

Las rutas nombradas permiten referirse a las rutas cuandos estas son generadas o redireccionadas, incluso si cambian las rutas. Esto se hace definiendo un nombre de la ruta. Cuando tengamos una aplicación grande, esta característica será de gran ayuda. Veamos cómo implementarlo:

// Ruta nombrada
Route::get('empresa/{nombre_empresa}/accion/{accion}', function ($nombre_empresa, $accion) {
    return 'Empresa:' . $nombre_empresa . ', Acción:' . $accion;
})->name('perfil_empresa');

Con este enfoque, estamos nombrando nuestra ruta como ‘perfil_empresa’, y cada vez que queramos redirigir al usuario a esa ruta particular, podemos usar simplemente el nombre de la ruta, sin importar lo compleja que sea la ruta.

Uso de Controladores

El enrutamiento a funciones de cierre, como hemos hecho hasta ahora, es un buen inicio, pero cuando nuestra aplicación crece, estos cierres pueden volverse problemáticos. Aquí es donde los controladores entran en juego. Los controladores nos permiten mover la lógica de nuestras rutas a otras partes, haciendo que nuestro código sea más manejable.

// Definición de ruta utilizando un controlador
Route::get('empresa/{nombre_empresa}/accion/{accion}', 'EmpresaController@viewProfile')->name('perfil_empresa');

En este ejemplo, estamos indicando a Laravel que, cuando reciba una petición de esta ruta, debe llamar al método ‘viewProfile’ del controlador ‘EmpresaController’, envíandole las partes de la URL como argumentos.

Conclusiones

El enrutamiento en Laravel es poderoso y flexible, ofreciendo opciones para personalizaciones avanzadas. Siempre es esencial entender a fondo cada uno de los aspectos del enrutamiento para hacer que nuestra aplicación sea más eficiente, segura y limpia. Con la técnica de web.com/empresa/accion en Laravel, podemos personalizar nuestras rutas a un nivel mucho más profundo, proporcionando una estructura de URL más amigable y semánticamente relevante.

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad