La carpeta application
La carpeta más importante, la que más merece nuestra atención, es la de **/application** y todas sus subcarpetas. Básicamente, esta carpeta contendrá nuestros modelos, vistas, controladores, y otro código (helpers y extensiones de clase). Por consiguiente, esta carpeta es donde realizaremos el 99% de nuestro trabajo.
La carpeta está compuesta por las siguientes subcarpetas:
Diferentes subcarpetas que contiene la carpeta application
Nombre | Descripción |
---|---|
cache | Contendrá todas las páginas cacheadas de nuestra aplicación. |
config | Contiene una serie de ficheros importantes para gestionar la configuración de nuestra aplicación. Existen ficheros para gestionar la base de datos y otras variables que CodeIgniter necesita utilizar (tales como la URL base de la aplicación, que librerías y helpers se cargarán de forma automática, etc.) |
controllers | Contendrá los controladores que nosotros crearemos para nuestra aplicación. |
core | Si queremos extender él núcleo de CodeIgniter, las clases deben colocarse en esta carpeta /application/core/. |
errors | Contiene plantillas estándares para páginas de error 404, errores de PHP y otros. Podremos modificar estas plantillas para adaptarlas al diseño de nuestra aplicación. |
helpers | En esta carpeta introduciremos helpers específicos para nuestra aplicación. |
hooks | Contiene "hooks" (mejoras) creadas específicamente para nuestra aplicación. Los hooks, tal y como hemos comentado anteriormente, es la mejor forma de mejorar el núcleo de CodeIgniter. |
language | Fichero específico de idioma para la aplicación. Sino existe cogerá el fichero del núcleo. |
libraries | Contiene librerías específicas creadas para nuestra aplicación.No confundir esta carpeta (la cual se usa para almacenar nuestra propias librerías) con la carpeta system/libraries la cual contiene librerías específicas del núcleo de CodeIgniter. |
logs | Carpeta que usará nuestra aplicación para escribir eventos y errores realizados por la aplicación o por el usuario. |
models | Contendrá los modelos creados para nuestra aplicación. |
third_party | Contendrá paquetes de mini-aplicaciones que podemos usar en nuestra aplicación. No es una librería, ya que puede incorporar sus propios archivos de configuración, helpers, archivos de idioma, bibliotecas y modelos. Es una buena manera de empaquetar aplicaciones y usarlas en diferentes proyectos. |
views | Contendrá las vistas creadas para nuestra aplicación. |
Dentro de la carpeta **/application/** tenemos otras carpetas muy importantes que son: **controllers/** (controladores), la carpeta **models/**(modelos) y la carpeta **views/**(vistas). Todo nuestro trabajo se centrará en crear controladores, modelos y vistas dentro de esta carpeta para nuestra aplicación.
Otra carpeta muy importante es **config/**, que contiene varios archivos de configuración importantes. Antes de empezar a trabajar en un proyecto tendremos configurar una serie de parámetros de configuración específicos de nuestra aplicación. Vamos a ver en detalle cada uno de los ficheros que contiene esta carpeta.