≡En resumen
- CodeIgniter es un framework PHP ligero y de código abierto que organiza el código con el patrón MVC.
- Se escribe CodeIgniter, en una palabra; «Code Igniter» y «Codelgniter» son variantes erróneas habituales.
- La rama actual es CodeIgniter 4, que desde la versión 4.7.0 exige PHP 8.2.
- CodeIgniter 3 sigue disponible, pero en mantenimiento y casi solo con parches de seguridad.
- Es buena opción para proyectos pequeños y medianos o servidores modestos; Laravel ofrece más ecosistema.
01 ¿Qué es CodeIgniter?
Un framework es un marco de trabajo: define dónde va cada archivo y resuelve las tareas repetitivas. CodeIgniter es uno de los más veteranos del ecosistema PHP y se ha ganado fama de rápido y fácil de aprender. El propio creador de PHP, Rasmus Lerdorf, lo elogió por ser más rápido, más ligero y «el que menos parece un framework».
02 Historia y versiones de CodeIgniter
| Fecha | Hito |
|---|---|
| 28 de febrero de 2006 | EllisLab publica la primera versión de CodeIgniter |
| Julio de 2013 | EllisLab anuncia que busca un nuevo propietario para el proyecto |
| Octubre de 2014 | El British Columbia Institute of Technology (BCIT) asume el proyecto |
| Versión 3.0 | El framework adopta la licencia MIT |
| Octubre de 2019 | La CodeIgniter Foundation toma el relevo |
| 24 de febrero de 2020 | Se publica CodeIgniter 4, reescrito desde cero |
| 1 de febrero de 2026 | CodeIgniter 4.7.0 sube el mínimo a PHP 8.2 y añade soporte experimental para el modo worker de FrankenPHP |
| 7 de julio de 2026 | CodeIgniter 4.7.4, última versión estable a septiembre de 2026 |
03 Cómo funciona: el patrón MVC en CodeIgniter
CodeIgniter sigue el patrón modelo-vista-controlador, que separa los datos, la lógica y la presentación. Es flexible: los modelos y las vistas son opcionales, así que puedes empezar con un controlador sencillo y añadir capas a medida que el proyecto crece. Encaja en la parte backend de una aplicación.
Modelo
Accede a la base de datos y contiene las reglas de los datos: leer, guardar, validar.
Vista
Genera el HTML que ve el usuario, o el JSON si construyes una API.
Controlador
Recibe la petición, pide los datos al modelo y decide qué vista devolver.
Un usuario visita /productos/15. El sistema de rutas envía la petición al método show(15) del controlador Productos, que pide al modelo ProductoModel el registro con id 15 y se lo pasa a la vista producto.php, que pinta la ficha en HTML. Si el producto no existe, el controlador devuelve un 404.
04 Ventajas y desventajas de CodeIgniter
| Ventajas | Desventajas |
|---|---|
| Muy ligero: la descarga ronda 1,1 MB | Ecosistema de paquetes más pequeño que el de Laravel o Symfony |
| Configuración casi nula, más allá de la base de datos | Menos ofertas de empleo y menos formación reciente disponible |
| Curva de aprendizaje suave para quien sabe PHP | Menos herramientas integradas para proyectos grandes y equipos numerosos |
| Protección integrada contra CSRF y XSS, y soporte de Content Security Policy | La migración de la versión 3 a la 4 no es automática |
| Guía de usuario oficial muy completa | Comunidad más reducida que hace una década |
Como es software de código abierto con licencia MIT, puedes usarlo en proyectos comerciales sin pagar licencias ni publicar tu código.
05 Cómo instalar CodeIgniter 4 paso a paso
-
1
Comprueba los requisitos
PHP 8.2 o superior con las extensiones intl y mbstring; para MySQL, además, el driver mysqlnd.
-
2
Crea el proyecto con Composer
Ejecuta composer create-project codeigniter4/appstarter nombre-del-proyecto. También puedes descargar el zip e instalarlo a mano.
-
3
Configura el entorno
Copia el archivo env como .env, pon CI_ENVIRONMENT = development y define app.baseURL con barra final.
-
4
Conecta la base de datos
Añade los datos de conexión en .env o en app/Config/Database.php.
-
5
Arranca el servidor de desarrollo
Ejecuta php spark serve y abre http://localhost:8080 en el navegador.
-
6
Prepara producción
Da permisos de escritura a la carpeta writable, apunta el servidor a la carpeta public y ejecuta composer install --no-dev.
Si prefieres una guía en español que recorra el framework desde cero, puedes consultar este manual de CodeIgniter, teniendo en cuenta que parte del material de la red está escrito para la versión 3.
06 Estructura de carpetas de un proyecto CodeIgniter 4
Al crear un proyecto con el app starter obtienes una estructura fija. Conocerla es lo primero que necesitas para orientarte en cualquier aplicación hecha con CodeIgniter 4, sea tuya o heredada de otro equipo, y para no cometer el error de seguridad más habitual: dejar visible en la web todo el proyecto en lugar de solo la carpeta pública.
| Carpeta o archivo | Qué contiene |
|---|---|
| app | Tu código: controladores, modelos, vistas, configuración (app/Config) y rutas |
| public | El único directorio que debe ser accesible desde la web: index.php, CSS, JavaScript e imágenes |
| writable | Caché, logs, sesiones y archivos subidos; necesita permisos de escritura |
| tests | Pruebas automáticas con PHPUnit |
| vendor | El framework y las dependencias instaladas con Composer |
| spark | La herramienta de línea de comandos: servidor de desarrollo, migraciones, generadores de código |
| env y .env | Plantilla y archivo real de variables de entorno (entorno, URL base, base de datos) |
07 CodeIgniter vs Laravel: ¿cuál elegir?
| Criterio | CodeIgniter 4 | Laravel |
|---|---|---|
| Filosofía | Mínimo y flexible: tú decides cuánto estructurar | Completo y con convenciones fuertes |
| Peso y rendimiento | Muy ligero, arranque rápido | Más pesado, con más capas |
| Ecosistema | Reducido | Muy amplio: colas, autenticación, pagos, paneles |
| Aprendizaje | Rápido para quien sabe PHP | Más conceptos que aprender |
| Proyecto típico | Webs, APIs y herramientas internas pequeñas o medianas | Aplicaciones y SaaS con muchas funciones y equipos grandes |
Si vas a construir un producto que crecerá durante años, Laravel suele compensar por su ecosistema. Si necesitas algo rápido, sencillo o que corra en un alojamiento modesto, CodeIgniter sigue siendo muy válido. En nuestro equipo de desarrollo web a medida elegimos la herramienta según el proyecto, no al revés.
08 ¿Cuándo tiene sentido usar CodeIgniter?
- ✓Herramientas internas: intranets, paneles de gestión o informes.
- ✓APIs REST sencillas que sirven de backend a una web o a una app móvil.
- ✓Proyectos con presupuesto ajustado o alojamiento compartido.
- ✓Equipos que ya conocen PHP y quieren productividad sin una curva larga.
- ✓Mantenimiento de aplicaciones heredadas de CodeIgniter 3 que se migran a la versión 4.
Antes de elegir framework, conviene decidir si necesitas software a medida o si una herramienta existente resuelve el problema. Y si el proyecto incluye una app para iOS o Android, CodeIgniter puede ser el backend que la alimenta; el resto encaja en un desarrollo de aplicaciones empresariales.
Preguntas frecuentes sobre CodeIgniter
Es un framework PHP gratuito y de código abierto para desarrollar aplicaciones web con el patrón MVC, conocido por ser ligero, rápido y fácil de aprender.
Sirve para crear webs dinámicas, paneles de gestión y APIs sin programar desde cero las rutas, la base de datos, los formularios o la seguridad.
A septiembre de 2026, la última versión estable es CodeIgniter 4.7.4, publicada el 7 de julio de 2026.
PHP 8.2 o superior desde CodeIgniter 4.7.0, con las extensiones intl y mbstring activadas.
Lo más recomendable es con Composer: composer create-project codeigniter4/appstarter seguido del nombre del proyecto, y después php spark serve para probarlo en localhost:8080.
Depende del proyecto. CodeIgniter es más ligero y sencillo; Laravel tiene un ecosistema mucho mayor y encaja mejor en aplicaciones grandes.
Sí. Es software libre con licencia MIT desde la versión 3.0, así que puedes usarlo en proyectos comerciales sin coste.
Sí, en muchas aplicaciones antiguas, pero está en mantenimiento y recibe sobre todo parches de seguridad. Para proyectos nuevos se recomienda CodeIgniter 4.
Fuentes consultadas
Sobre el autor
Germán Gutiérrez
Development Manager en appyweb
Dirige el equipo de desarrollo de appyweb: aplicaciones web y móviles, SaaS, integraciones y arquitectura de software.
Ver perfil en LinkedIn ↗