Entender el flujo de aplicación de CodeIgniter

  • Por
  • PHP
Explicamos el flujo de la aplicación de CodeIgniter, que será recomendable conocer antes de empezar tu aplicación web PHP con este framework.
En DesarrolloWeb.com hemos empezado a publicar una línea de artículos sobre el framework PHP CodeIgniter, que es uno de los más sencillos, versátiles y apropiados para la mayoría de desarrolladores y proyectos. En este artículo vamos a comentar algunas de las cosas, más bien teóricas sobre el proceso de desarrollo y producción de aplicaciones con CodeIgniter.

Recordemos que ya se presentaron unas características generales de CodeIgniter y que estuvimos ofreciendo una guía para la instalación del framework PHP, que resulta bastante sencilla, como podréis ver dado que CodeIgniter es apropiado para la mayoría de los entornos donde necesitemos ejecutar aplicaciones con programación en PHP.

Como cualquier herramienta o librería para el desarrollo, CodeIgniter define una serie de pautas de trabajo que necesitaríamos conocer antes de ponernos a escribir líneas de código. Si queremos utilizar este framework hay muchas cosas no podremos hacer tal como, quizás, estemos acostumbrados en el pasado con PHP. Así pues es muy importante saber unas cuantas cosas antes de empezar a ver ejemplos simples o explicar el proceso de desarrollo de una aplicación web más compleja. De hecho, la mayor complejidad de empezar a usar CodeIgniter es justamente la necesidad de cambiar nuestros esquemas y costumbres de desarrollo, pero esto también posibilitará que empecemos a pensar "a lo grande" y que los objetivos de aplicaciones avanzadas sean más fácilmente alcanzables.

Flujo de aplicación de CodeIgniter

En CodeIgniter existe un procedimiento para atender una solicitud de página del cliente. Este proceso se realiza internamente por el propio CodeIgniter y de manera transparente para nosotros. Durante el proceso participan varios módulos como el enrutamiento de la solicitud, la caché interna, etc. Está bien conocerlo de antemano, aunque algunas de las cosas aun no las entendamos con lo que hemos visto hasta el momento en este manual.

Conviene prestar atención sobre la siguiente imagen, tomada de la documentación de CodeIgniter, donde hemos traducido simplemente algunos nombres de los módulos que participan.

En resumen, para que se pueda entender el flujo de aplicación que implementa CodeIgniter, puedes seguir los siguientes puntos:

  1. Toda solicitud de una página a partir de CodeIgniter comienza en un index.php que hay en la raíz del framework.
  2. Luego se realiza un filtrado de la URL para saber cuál es elemento que tiene que procesar esta página.
  3. Si la página se había generado antes y está en la caché de CodeIgniter, se devuelve el archivo de la caché ya generado, con lo que se ahorra procesamientos repetidos. La caché se puede configurar y si lo deseamos, incluso deshabilitar.
  4. Antes de continuar con el proceso se realiza un tratamiento de seguridad sobre la entrada que tengamos, tanto de la información que haya en la URL como de la información que haya en un posible POST, si lo hemos configurado así.
  5. El controlador adecuado realiza el procesamiento de la solicitud. CodeIgniter decide el controlador que debe procesar la solicitud en función de la URL solicitada.
  6. El controlador comunica con una serie de módulos, los que necesite, para producir la página.
  7. A través de las vistas adecuadas, el controlador genera la página, tal cual se tiene que enviar al navegador.
  8. Si la página no estaba en la caché, se introduce, para que las futuras solicitudes de esta página sean más rápidas.
Algunos de estos módulos, como la caché o el enrutamiento, funcionan de manera transparente para nosotros. Algunos otros, como los controladores, modelos y vistas, los tenemos que programar por nuestra cuenta y localizan cada una de las partes de nuestro programa que, al estar sepadadas nos ayudan a organizar también nuestro código. También tenemos a nuestra disposición diversas librerías, ayudantes (helpers) y plugins ya escritos en CodeIgniter con numerosas clases y funciones muy útiles para el desarrollo de aplicaciones web.

Uno de los puntos más básicos, pero no por ello menos útiles, de CodeIgniter que explicaremos dentro de poco, es el múdulo de entutamiento (routing) que permite que cualquier URL que se solicite al servidor se ejecute en el controlador adecuado. La URL se analiza y los datos se procesan y aseguran antes de enviarlos al controlador adecuado, en el que simplemente tendremos que codificar sus diversos métodos.

En el siguiente artículo estudiaremos el Modelo - Vista - Controlador, que implementa CodeIgniter como arquitectura para el desarrollo.

Autor

Miguel Angel Alvarez

Miguel es fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Comenzó en el mundo del desarrollo web en el año 1997, transformando su hobby en su trabajo.

Compartir

Comentarios

metal_uci

22/12/2009
CodeIgniter
Me gustaria hicieras una comparacion entre CodeIgniter y Sinfoni.

SDS

DastanCM

05/1/2010
¡¡¡ De lujo !!!
Ola ola mis estimados, solo escribo para decirles que yo estoy trabajando con este genial Framework y es la ondonia, para desarrolladores que ya han probado las delicias de php pues ya no les costara tanto trabajo entenderlo, porque el manual publicado aqui en este portal esta muy bien explicado, bueno eso es todo lo que tenia que decir, ¡creo!, sale hasta la proxima y ya se habian tardado con el manualito ja ja, bye

Distriker

19/3/2010
Excelente
Cada vez me va gustando mas CodeIgniter.

Es bastante apto.

Saludos