Las rutas en Laravel son el mecanismo que permite definir cómo responde tu aplicación a las solicitudes HTTP entrantes. Todas las rutas de Laravel se definen en los archivos dentro del directorio routes/.
Las rutas son fundamentales en Laravel y ofrecen muchas más posibilidades como middleware, binding de modelos, subdominios, etc. Esta es solo una introducción básica.
Route::get('/usuario/{id}',function($id){// Creas un arreglo con todos los datos$datosUsuario=['id'=>$id,'nombre'=>'Juan','email'=>'juan@email.com','edad'=>30,'direccion'=>'Calle Principal 123'];returnview('perfil')->with('usuario',$datosUsuario);});
// En web.phpRoute::get('/usuario/{id}',[UserController::class,'show']);// En UserController.phppublicfunctionshow($id){$nombre="Juan";$datos=['email'=>'juan@email.com','edad'=>30];returnview('perfil',['id'=>$id,'nombre'=>$nombre,'datos'=>$datos]);}
5. En la vista (perfil.blade.php)
blade
<h1>Perfil de usuario</h1>
<p>ID: {{ $id }}</p>
<p>Nombre: {{ $nombre }}</p>
<h2>Datos del usuario:</h2>
<ul>
<li>Email: {{ $datos['email'] }}</li>
<li>Edad: {{ $datos['edad'] }}</li>
</ul>
{{-- O si es un array indexado --}}
@foreach($datos as $key => $value)
<li>{{ $key }}: {{ $value }}</li>
@endforeach
Ejemplo con múltiples parámetros en la ruta
php
// Ruta con múltiples parámetrosRoute::get('/producto/{categoria}/{id}',function($categoria,$id){$producto=['nombre'=>'Laptop','precio'=>1000];$caracteristicas=['RAM'=>'8GB','SSD'=>'256GB'];returnview('producto',compact('categoria','id','producto','caracteristicas'));});
La opción más común y recomendada es usar compact() o el arreglo asociativo directo, ya que son más limpios y fáciles de leer.
Comandoroute:listen Laravel
El comandoroute:listes una herramienta muy útil que muestra una tabla con todas las rutas registradas en tu aplicación Laravel, incluyendo sus métodos HTTP, URIs, nombres (si los tienen), acciones y middlewares aplicados.
Ejemplo de uso
Para ver la lista de rutas, ejecuta en tu terminal:
bash
Copy
Download
php artisan route:list
Esto mostrará una salida similar a:
Copy
Download
+--------+----------+-------------------+------+---------+--------------+
| Method | URI | Name | Action | Middleware |
+--------+----------+-------------------+------+---------+--------------+
| GET | / | | Closure | web |
| GET | saludo | | Closure | web |
| GET | usuario/{id} | | Closure | web |
| GET | perfil | perfil | Closure | web |
| GET | productos | | ProductoController@index | web |
+--------+----------+-------------------+------+---------+--------------+
Opciones útiles del comando
Puedes usar varias opciones para filtrar o formatear la salida:
bash
Copy
Download
# Mostrar solo rutas con nombre
php artisan route:list --name=perfil
# Mostrar rutas que coincidan con un URI específico
php artisan route:list --path=usuario
# Mostrar en formato JSON
php artisan route:list --json# Mostrar más detalles (incluyendo middlewares)
php artisan route:list -v
Tabla actualizada con el comandoroute:list
Comando
Explicación
php artisan route:list
Muestra una tabla con todas las rutas registradas, sus métodos, URIs, nombres y acciones
Route::get($uri, $callback)
Define una ruta que responde a solicitudes GET
Route::post($uri, $callback)
Define una ruta que responde a solicitudes POST
Route::put($uri, $callback)
Define una ruta que responde a solicitudes PUT
Route::patch($uri, $callback)
Define una ruta que responde a solicitudes PATCH
Route::delete($uri, $callback)
Define una ruta que responde a solicitudes DELETE
Route::any($uri, $callback)
Responde a cualquier método HTTP
Route::match(['get', 'post'], $uri, $callback)
Responde solo a los métodos especificados
Route::redirect($from, $to)
Redirige una URI a otra
Route::view($uri, $view)
Devuelve una vista sin necesidad de controlador
Route::resource($name, $controller)
Genera todas las rutas RESTful para un recurso
->name($name)
Asigna un nombre a la ruta
->middleware($middleware)
Aplica middleware a la ruta
->where($param, $regex)
Aplica restricciones a los parámetros de ruta
Route::prefix($prefix)->group()
Agrupa rutas con un prefijo común
Route::namespace($namespace)->group()
Agrupa rutas bajo un namespace específico
El comandoroute:listes especialmente útil para:
Depurar problemas de rutas
Verificar que todas las rutas estén correctamente definidas
En Laravel, existen convenciones y buenas prácticas para nombrar controladores, modelos, métodos, variables y tablas de la base de datos. Estas convenciones ayudan a mantener la consistencia en el código y aprovechar al máximo las características de Laravel, como la inyección de dependencias y el ORM Eloquent. Te explico las convenciones de nomenclatura en Laravel con énfasis en la estructura Verbo + Sustantivo : estructura para controladores: 📝 Controladores - Estructura Correcta Nombres de Clases (Controladores) Caso: PascalCase Estructura: Sujeto/Objeto (Sustantivo) + Controller Sufijo: Controller Número: Sustantivo en Plural (representa la colección que maneja) ✅ Ejemplos Correctos: php // Controlador para manejar usuarios (colección de usuarios) class UsersController extends Controller {} // Sujeto: Users // Controlador para manejar productos (colección de productos) class ProductsController extends Controller {} // Sujeto: Products // Cont...
Rutas en Laravel: Explicación y Ejemplos Las rutas en Laravel son el mecanismo que permite definir cómo responde tu aplicación a las solicitudes HTTP entrantes. Todas las rutas de Laravel se definen en los archivos dentro del directorio routes/ . Tipos básicos de rutas 1. Rutas básicas php Route ::get ( '/saludo' , function () { return '¡Hola Mundo!' ; }); Cuando se visita /saludo en el navegador, se mostrará "¡Hola Mundo!". 1.1 Devolver un arreglo directamente (JSON automático) Laravel convierte automáticamente a JSON cualquier array o colección que devuelvas desde una ruta o controlador. Route ::get ( '/tareas' , function () { $tareas = [ [ 'id' => 1 , 'nombre' => 'Comprar pan' ], [ 'id' => 2 , 'nombre' => 'Estudiar Laravel' ], [ 'id' => 3 , 'no...
Comentarios
Publicar un comentario