En CodeIgniter 4, las rutas son una parte fundamental para definir cómo las solicitudes URL se relacionan con los controladores y métodos en tu aplicación. Este sistema te da flexibilidad y un control total sobre las URL de tu proyecto. En esta guía, exploraremos desde lo básico hasta configuraciones más avanzadas.
¿Qué son las rutas en CodeIgniter 4?
Las rutas son las reglas que determinan qué controlador debe ejecutarse en respuesta a una solicitud específica. Por ejemplo, cuando un usuario accede a https://tusitio.com/blog, el sistema de rutas define qué acción ejecutar y qué contenido devolver.
Configuración básica de rutas
Todas las rutas en CodeIgniter 4 se configuran en el archivo app/Config/Routes.php. Aquí se define el comportamiento predeterminado de las URL.
Ejemplo básico de una ruta:
$routes->get('home', 'HomeController::index');
En este caso:
- La URL
https://tusitio.com/homeejecutará el métodoindexdel controladorHomeController.
Tipos de rutas disponibles
CodeIgniter 4 soporta varios métodos HTTP, lo que permite manejar diferentes tipos de solicitudes.
| Método | Uso común | Ejemplo |
|---|---|---|
| GET | Obtener información (lectura) | $routes->get('productos', 'ProductoController::index'); |
| POST | Enviar datos al servidor (crear/actualizar) | $routes->post('productos', 'ProductoController::store'); |
| PUT | Actualizar datos existentes | $routes->put('productos/(:num)', 'ProductoController::update/$1'); |
| DELETE | Eliminar un recurso | $routes->delete('productos/(:num)', 'ProductoController::delete/$1'); |
Uso de parámetros en las rutas
Puedes definir rutas con parámetros dinámicos.
$routes->get('blog/(:segment)', 'BlogController::view/$1');
Aquí, (:segment) es un comodín que captura parte de la URL y lo pasa como argumento al método del controlador. Por ejemplo:
- URL:
https://tusitio.com/blog/codeigniter - Método llamado:
view('codeigniter')
Otros comodines disponibles:
(:num)– Captura solo números.(:alpha)– Captura solo letras.(:alphanum)– Captura letras y números.(:any)– Captura cualquier texto.
Agrupación de rutas
Para mantener el código limpio, puedes agrupar rutas relacionadas:
$routes->group('admin', function($routes) {
$routes->get('usuarios', 'AdminController::usuarios');
$routes->get('configuracion', 'AdminController::configuracion');
});
Esto creará rutas como:
/admin/usuarios/admin/configuracion
Rutas con filtros
Los filtros permiten ejecutar lógica antes o después de que una ruta se resuelva. Por ejemplo, puedes proteger rutas con autenticación:
$routes->get('dashboard', 'DashboardController::index', ['filter' => 'auth']);
Rutas por defecto
CodeIgniter 4 incluye una ruta predeterminada para manejar solicitudes sin una URL explícita:
$routes->get('/', 'HomeController::index');
Esta ruta se ejecuta cuando se accede al dominio raíz, como https://tusitio.com.
Guía en vídeo
Conclusión
El sistema de rutas de CodeIgniter 4 es potente y versátil. Ya sea que estés creando una aplicación pequeña o un proyecto más complejo, entender cómo definir rutas correctamente mejorará la organización y el funcionamiento de tu proyecto.
¿Tienes alguna duda sobre rutas? ¡Déjala en los comentarios!
