Ticker

6/recent/ticker-posts

Estructura del Framework CodeIgniter


En el siguiente articulo revisaremos algunos conceptos básicos en relación a la estructura de los directorios y archivos del Framework CodeIgniter; asimismo, revisaremos bajo que patrón o estilo de arquitectura esta desarrollado dicho Framework.

Requisitos:

  1. XAMPP Control Panel.
  2. Visual Studio Code o Sublime Text 3.
  3. CodeIgniter v3.1 (Framework PHP).

Lo que veremos en este tutorial:

  1. ¿Qué CodeIgniter?
  2. ¿Qué es MVC?
  3. Estructura del Framework.
  4. Referencias.

1. ¿Qué CodeIgniter?

Entorno de trabajo o simplemente conocido como Framework de desarrollo Web escrito bajo el núcleo de código fuente core de PHP, creado con la finalidad de acelerar y optimizar el desarrollo de aplicaciones web, es decir gracias a un compacto diseño de software se logra ambos criterios (acelerar y optimizar el desarrollo). La empresa norteamericana EllisLab dedicado al desarrollo de software fue la encargada de su creación y de la publicación de su primera versión en febrero de 2006, un año después adquirido por el British ColumbiaInstitute of Technology (BCIT).

En la actualidad el código fuente de CodeIgniter es distribuido bajo una licencia MIT, fácilmente puede descargarse desde la plataforma GitHub o desde su pagina oficial del proyecto. La última versión estable del entorno de desarrollo, es CodeIgniter v3.1.13 y v4.2.4, ambos se ofrece para su descarga gratuita en la página oficial del proyecto.

CodeIgniter a nivel de arquitectura esta basada en el patrón Modelo-Vista-Controlador (MVC), es decir se realiza en esta separación de tres grupos: el modelo (model), la vista (view) y el controlador (controller), que explicamos en el siguiente punto.


2. ¿Qué es MVC?

Modelo Vista Controlador (MVC) es un patrón o estilo de arquitectura de software que separa los datos de una aplicación, la interfaz de usuario, y la lógica de control en tres componentes distintos, es decir, lo que le hace interesante al Framework de desarrollo Web, es decir, CodeIgniter a nivel de arquitectura esta basada en el patrón Modelo-Vista-Controlador (MVC), que mantiene el principio fundamental que sustenta a la arquitectura de desarrollo MVC, la estricta separación entre el código y la presentación, gracias a una estructura modular de software y a la externalización del código PHP.

El modelo representa la estructura de datos de una aplicación web desarrollada con CodeIgniter. Para ello, en el código fuente se definen las denominadas clases o simplemente las "model classes", que contienen todas las funciones en relación a la manipulación de datos, siendo especifico son las sentencia SQL es decir leer, insertar o actualizar la información de la base de datos.

La vista es aquello que se le presenta al usuario final, es decir, se trata de los documentos HTML en el cual se determina el contenido dinámica en relación con el código PHP, convirtiéndose en una especie de plantilla, actualmente CodeIgniter también permite definir fragmentos de una página web como la cabecera y el pie de página o páginas RSS como vista. 

Por lo general las aplicaciones web utilizan varias vistas, que toman su contenido desde el mismo modelo.

El controlador se establece entre el modelo, la vista y cualquier otro recurso necesario para procesar una petición de tipo HTTP o generar una página web de forma dinámica, es decir, este componente recibe las peticiones entrantes, valida la entrada, selecciona la vista deseada y le entrega el contenido que el modelo ha cargado desde una base de datos.


3. Estructura del Framework.

Es importante comprender la estructura del Framework CodeIgniter y saber de todos los directorios que lo conforman para el desarrollar de aplicaciones web exitosas. El Framework gráficamente se estructura de la siguiente manera:


Al principio cuando abra la estructura de directorios de CodeIgniter, habrá dos directorios o carpetas principales que se detallan a continuación:


Application: 
La carpeta Application es donde se almacena todo el código de la aplicación que pretendemos desarrollar, es decir, contiene las siguientes subcarpetas que servirán para desarrollo de la aplicación web:

  • cache: En esta carpeta se almacenarán todas las páginas de caché de su aplicación, esto ayudará a aumentar la velocidad de acceso a la página web desarrollada.
  • config: En esta carpeta se almacenan todos los archivos de configuración; incluyendo que los mismos usuarios pueden configurar los datos en relación ala bases de datos de la aplicación y archivos config.php, configurar las URL base, etc (todo esto se puede hacer desde el archivo base llamado datos.php).
  • controllers: En esta carpeta contiene el control (archivos) de nuestra aplicación y todas las funcionalidades del lado del servidor.
  • core: Contiene todas las clases base de la aplicación a desarrollar.
  • helpers: En esta carpeta contendrá todos los archivos que ayudará a crear la aplicación web.
  • hooks: Ayudará a modificar el funcionamiento del mismo Framework de CodeIgniter.
  • language: Puede definir y usar el idioma de acuerdo a su necesidad en el proyecto.
  • libraries: se utiliza para almacenar bibliotecas creadas a medida según la necesidad del proyecto.
  • logs: Esta carpeta contiene registros de errores, es decir, aquí se almacenarán todos los archivos relacionados con el log de errores.
  • models: En esta carpeta contiene todo los archivos y funciones en relación al inicios de sesión de la base de datos, es decir son los modelos que se almacenan, y seguidamente el controlador los solicitará para usarlos.
  • third_party: Archivos en relación a complementos de terceros se almacena esta carpeta con la finalidad de ser usado en la aplicación web.
  • views: Aquí se almacenarán todos los archivos HTML relacionados con la aplicación.


System: Esta carpeta contiene subcarpeta con código principal, bibliotecas, ayudas y otros archivos del Framework  CodeIgniter, con la finalidad de facilitan la codificación, es decir, estas bibliotecas y archivos de ayuda se cargan y utilizan en el desarrollo de aplicaciones web.

  • core: Es el núcleo o el corazón del Framework de CodeIgniter, es decir, aquí se encuentra todos los archivos principales que componen el Framework. 

    Si desea ampliar la funcionalidad del archivo principal, debe crear un archivo principal personalizado en el directorio de la aplicación. Después de eso, puede anular o agregar un nuevo comportamiento que desee. Se recomienda, no hacer ningún cambio directamente en los archivos que lo conforman desde el origen.

  • database: Aquí se proporcionan los controladores de la base de datos, la memoria caché y otros archivos necesarios para las operaciones en relación a la base de datos.
  • fonts: Esta carpeta contiene fuentes e información relacionada con las tipos de fuentes o archivos *.ttf
  • helpers: En esta carpeta contiene archivos ayuda según la estructura de CodeIgniter para realizar funciones auxiliares que vienen listas para usarla.
  • language: Contiene archivos en relación al idioma que utiliza el Framework.
  • libraries: Contiene los archivos de origen para las diversas bibliotecas que vienen con CodeIgniter listo para usar.


4. Conclusiones.

CodeIgniter como Framework es ligero, sencillo e intuitivo que permite crear aplicaciones PHP de manera rápidamente, sin embargo, es muy importante comprender la estructura de archivos de CodeIgniter para trabajar de manera efectiva, teniendo conocimiento acerca de los archivos en relación a la base de datos, las fuentes, los archivos de ayuda, el lenguaje o idioma principal del Framework core o aplicación web a desarrollar, las bibliotecas y las subcarpetas que la conforman.

Gracias nuevamente 😊; comentarios y apreciaciones son bienvenido, un fuerte abrazo para todos ✌...!!!

Publicar un comentario

0 Comentarios