Las rutas son las diferentes peticiones HTTP que se realizan en un sistema laravel están pueden invocar una vista, llamar el método de un controlador que ejecute una tarea en la base de datos.
Las rutas de una aplicación laravel están definidas en el path routes/web.php puedes notar que también se encontrarán aquí las routas para: api, channels y consoles.
Como mencionamos anteriormente las rutas se llegan a usar para devolver vistas o invocar métodos de controllares es por ahí donde iniciaremos.
RUTAS LARAVEL INVOCANDO VISTAS
Para devolver una vista podemos usar el método Route::view este método nos provee de una forma muy sencilla de retornar una vista
El método view acepta como argumentos o parámetros en primer lugar la url y en segundo la vista.
Route::view('/welcome', 'welcome');
**Ejemplo del uso del método Route::view
Como información adicional y de la que profundizamos en otra entrada, las vistas están alojadas en el path resources/views aquí puedes crear carpetas con el objetivo de tener una aplicación más ordenada.
Para invocar vistas que estén dentro de carpetas podemos hacer uso de . o /
/*Ejemplo: invocando vista index dentro de la carpeta modulo con . */ Route::view('/nombre-ruta','modulo.index'); /*Ejemplo: invocando vista index dentro de la carpeta modulo con / */ Route::view('/nombre-ruta','modulo/index');
Ambos métodos tienen la misma función aunque es más común verse con la nomenclatura carpeta.vista.
Adicional a esto es posible enviar información a la vista mediante el método view pasando un array asociativo, es importante evitar usar en las key del array los nombres de view, data, status y headers.
Route::view('nombre-ruta-con-informacion','modulo.show', ['name' => 'UPIICSA FOR DUMMIES']);
RUTAS LARAVEL INVOCANDO MÉTODOS DE CONTROLADOR
Una de las tareas comunes en un sistema es ejecutar alguna acción de lectura, escritura o borrado de información si bien estas acciones son tarea de los controladores, es la ruta quien lo manda a llamar, existen muchas formas de invocar un método desde una ruta pero aquí trataré de darte unos ejemplos.
Las rutas definen los siguientes métodos
Route::get($uri, $callback); Route::post($uri, $callback); Route::put($uri, $callback); Route::patch($uri, $callback); Route::delete($uri, $callback); Route::options($uri, $callback);
Antes de crear nuestra ruta debemos asegurarnos de que nuestro archivo web.php usa el controlador, en este ejemplo vamos a asumir que tenemos un controlador llamado StoreController;
/*Este código esta en el Path routes/web.php*/ use App\Http\Controllers\StoreController; Route::get('mostrar-tiendas',[StoreController::class,'show']);
En esta ruta usamos el método get para invocar al método show dentro del Controlador StoreController. Es muy común que queramos realizar todo un el CRUD a una tabla para crear todos los métodos de forma sencilla podemos usar el método Route::resource.
Route::resource('stores', StoreController::class);
Este método lo que hace es crear todas las rutas para el controlador StoreController .
Para conocer todas las rutas de nuestro sistema podemos usar el comando
php artisan route:list
Aquí podemos observar como crea las rutas y cada una tiene un métodos, estos métodos son una convención.
Index – listas registros
Store – Mostrar el formulario de registro
Create -Salvar un registro en la base de datos
Show – Monstrar un registro en la base de datos
Update – Actualizar un registro de la base de datos
Destroy – Eliminar un registro de la base de datos
Edit – Mostrar el formulario