CodeIgniter es un marco o framework empleado para el desarrollo de aplicaciones web y al igual que Laravel, es de de código abierto; es un framework para PHP y fue creado por EllisLab y ahora es mantenido por British Columbia Institute of Technology.
CodeIgniter 4 es la última versión de este marco y se lanzó en 2020 y enn esta versión, se han realizado muchos cambios y mejoras en comparación con la versión anterior, CodeIgniter 3, modernizando bastante el framework y creando estructuras similares a la que tenemos en un proyecto en Laravel pero, manteniendo la simplicidad que caracteríza al framework.
CodeIgniter 4 al igual que otros muchos otros framework emplea el MVC (Modelo-Vista-Controlador) que se utiliza para desarrollar aplicaciones web; hay ciertos frameworks como Django o Laravel que tambien utilizan el MVC pero, no de manera pura, por ejemplo Django emplea una variante llamada MTV y Laravel por la gran cantidad de formas que existen para linquiar una pieza de código a una ruta, no se puede considerar un MVC puro.
Ventajas y características
Una de las grandes ventajas que tiene el framework si lo comparamos con Laravel, es que es muy liviano y tinene pocas dependencias, ademas de su facilidad de instalación, el marco necesita PHP 7.2 o superior.
- El marco se puede extender fácilmente mediante el uso de bibliotecas o componentes de terceros e inclusive de librerías especificas para PHP al usar composer.
- El marco se puede configurar fácilmente para trabajar con diferentes bases de datos y servidores web lo que lo hace un gran cantidato para desarrollar aplicaciones web.
- Es un framework pequeño pero con todo lo necesario para poder crear la mayoría de las aplicaciones web hoy en día.
Modelo, Vista y Controlador
Demos un repaso de para que sirve cada capa del MVC en CodeIgniter 4.
- El modelo se utiliza para interactuar con la base de datos, es la única capa y la única forma que tenemos para conectarnos a la base de datos, un modelo no es más que una clase cuya estructura es una copia o espejo de una tabla y se emplea esta clase para interactuar con la base de datos y poder recuperar registros, crear, actualizar o eliminar.
- El controlador se utiliza para manejar las solicitudes del usuario, es decir, cada controlador tiene asociado al menos una ruta y es la que se encarga de realizar la parte fuerte y donde se implementa la lógica de negocio y estructura en si del proyecto, es el componente empleado para conectarse a la base de dados mediante la capa anterior y enviar los datos a la vista.
- La vista se utiliza para mostrar los datos al usuario, aquí estan los formularios, listados, vistas de detalles etc, es la capa de presentación y es la encargada solamente mostrar los datos, en C4, esta capa son archivos PHP que luego son procesados por el framework al momento de realizar alguna consulta y generar un HTML que es lo que es finalmente devuelto como respuesta.
CodeIgniter es un framework excelente, si tienes pocos conocimientos en el desarrollo web y no haz empleado otro framework web, te recomiendo enormenente que empieces por este tipo de framework, que tienen una curva de aprendizaje bastante baja y no vas a marearte en la configuracion y uso como te pasaría si intentas comenzar con otros frameworks más potentes como lo es el caso de Laravel.
Recursos, Tutoriales, Post y mucho más
En este blog encontrarás una gran cantidad de material tanto gratis como de pago para dar los primeros pasos con el framework y un poco más; en este apartado, vamos a listar varios y puedes tomarlo como el punto de entrada para poder conocer el framework de manera gratuita.
En este blog, presentamos una serie de tutoriales que te pueden ayudar a iniciar en este peculiar framework, un framework que pequeño pero matón! es un framework que es muy pequeño pero trae todo lo necesario y más de lo necesario para desarrollar las funcionalidades más comunes que conforman la mayoría de las aplicaciones web hoy en día.
Guía para dar los primeros pasos con CodeIgniter 4 en el blog y YouTube completamente GRATIS
Comenzamos preparando el entorno necesario, que consiste en instalar nuestro Lamp, para ello, lo configuramos en Windows mediante Laragon:
O en MacOS:
Para comenzar, puedes empezar a experimentar con el framework sin muchas complicaciones, vemos como instalar C4 de manera manual:
O por composer:
Conoces la estructura de carpetas y archivos, es fundamental para desarrollar cualquier cosa en cualquier framework:
El modo desarrollador nos da información exacta sobre los que esta pasando al momento de desarrollar, como problemas de conexión a la base de datos, entre otros:
Pasamos a la instalación del framework, que es un proceso extremadamente sencillo y lo podemos hacer mediante un comando por composer:
Una vez instalado el framework, lo siguiente que queremos ver es un algo por el navegador, para ello, usamos las rutas que son como la otra capa de nuestro MVC:
El uso de los controladores en la pieza fundamental en estos framewoks ya que es el corazón del mismo y la conexión entre las vistas y los modelos:
Ya que sabemos como emplear los controladres y vistas, veamos como conectarnos a la base de datos mediante los modelos:
Y como no, es importante conocer como realizar peticiones a la base de datos:
Las migraciones, son esos archivos que debemos de definir para traducir un archivo en PHP a una tabla en la base de datos; este proceso se conoce como migraciones y es una parte importante del framework:
Con el MVC comprendido mediante los posts anteriores, lo siguiente que debemos de conocer es el uso de los formularios en CodeIgniter 4; los mismos son usados para agregar o modificar registros existentes en la base de datos los cuales, son una pieza fundamental de los procesos CRUDs en cualquier sistema:
Una RestApi es de esos elementos que son fundamentales cuando queremos conectar la aplicacion con otras aplicaciones de una manera facil, extensible, segura y controlada:
Las validaciones aplicadas a formularios mediante validaciones del lado del servidor, son una característica muy importante en este tipo de framework, C4 las maneja muy fácilmente y es el siguiente paso que debemos de seguir, para evitar procesar a la base de datos registros que no son consistentes y por lo tanto deben de ser considerados como inválidos para evitar problemas en la aplicación:
Una vez que conocemos los aspectos básicos en el Framework, debemos seguir nuestro camino conociendo características importantes, como el CRUD, antes vimos como emplear los formularios para crear elementos, pero, que pasa con eliminar registros:
Mostrar el listado de información para que sean fácilmente accesibles el resto de las opciones, se puede hacer mediante un listado:
Hay operaciones básicas que debemos de conocer en CodeIgniter, el trabajar con archivos e imágenes que van desde la carga de archivos, hasta procesarlas son necesarias para poder hacer muchas otras operaciones:
Generar datos de prueba es la mejor manera que tenemos para crear un listado inicial de datos sin necesidad de crearlos de manera manual:
Spark, es la l[inea de comandos de C4, con la cual, podemos crear modelos, contorladores, ejecutar el framework en el navegador, entre otros:
Curso y Libro para dominar CodeIgniter 4
CodeIgniter es un framework fascinante, y es ideal cuando te estás introduciendo en el mundo de la programación, ya sabes programar en PHP y lo que este lenguaje y las tecnologías que giran alrededor del mismo como lo son HTML, CSS y JavaScript y quieres ir un paso más allá, quieres empezar a desarrollar de una manera más profesional, eficiente y escalable en el tiempo; aunque el hecho de usar CodeIgniter u otro framework no es garantía de puedas dar ese paso, ya que lo más importante es que sepas como usarlo, y para eso esta este libro, para que tengas un avance progresivo, desde cero y con una curva de aprendizaje moderada; dando los primeros pasos con CodeIgniter explicando para qué funciona cada componente y de una, haciendo práctica, programando tu primera aplicación que seguramente será la primera de muchas más.
Aunque mencioné anteriormente, que CodeIgniter es ideal para un aprendiz, no necesariamente tiene que ser empleado como un simple escalón para llegar más alto y trabajar con frameworks más completos y complejos como Laravel o Symfony.
CodeIgniter es un framework bastante potente que para la mayoría de las aplicaciones que creamos en nuestro día a día sería más que suficiente; trae funcionalidades para trabajar de manera organizada mediante el MVC, una capa de rutas, creaciones fáciles de Rest Api, validaciones, proceso de formularios, filtros para interceptar peticiones y un montón más de funciones que seguramente te ayudaran al momento de programar tus aplicaciones. Dicho esto, Codeigniter, una vez dominado, te servirá para entrar a conocer frameworks más grandes como Laravel, ya que muchas de las características de este, existen en Laravel.
La finalidad del libro y curso es dar los primeros pasos con CodeIgniter en su versión 4; para esto, tomaremos en cuenta dos cosas:
- No pretendemos que la persona logre conocer al 100% Codeigniter de cero a experto, ya que sería un objetivo demasiado grande para el alcance de lo aquí escrito, si no, conocer su ecosistema, qué nos ofrece y cómo funciona el mismo en base a varios ejemplos y/o aplicaciones pequeñas con alcances limitados.
- Se espera que el lector tenga conocimientos en JavaScript, HTML y CSS ya que son necesarios para poder desarrollar en cualquier framework PHP, o web del lado del servidor que quieras aprender; en mi sitio web desarrollolibre.net cuento con múltiples recursos que te pueden interesar para dar los primeros pasos con varias tecnologías de manera gratuita; al igual que en mi canal de YouTube, tienes mucho material gratuito, único y de calidad.
Para seguir este libro lo único que necesitas es tener una computadora con Windows, Linux o MacOS y ¡ganas de aprender!
Si te interesa este contenido premium, puedes consultar los enlaces de Cursos y Libros en el navbar de este sitio.