En Php podemos encontrar gran cantidad de frameworks que buscan resolver cuestiones estructurales al momento de plantearnos una aplicación. Uno de ellos, es CodeIgniter.
Este post no trata sobre vender las bondades del framework, sino sobre cómo empezar a usarlo.
Inicializar un proyecto es algo bastante sencillo y rápido.
Una vez descargado y descomprimido el framework (y suponiendo que lo ubicamos en el directorio del proyecto) nos vamos a encontrar con la siguiente estructura.
/
|
+--/ system
|
+--/ user_guide
|
+-- index.php
|
+-- license.txt
Ahora, si apuntamos con nuestro navegador hacia la dirección/carpeta en donde esté el proyecto, tendríamos que ver la siguiente página.
Esto quiere decir que vamos bien, pero en realidad no hemos hecho nada hasta ahora.
Dentro de la carpeta system vamos a encontrar unas cuantas subcarpetas que son las que conforman el framework, pero a nosotros nos importará el contenido de application.
/
|
+--/ system
|
+--/ application
|
+--/ config
|
+--/ controllers
|
+--/ errors
|
+--/ helpers
|
+--/ hooks
|
+--/ language
|
+--/ libraries
|
+--/ models
|
+--/ views
|
+-- index.html
Es con ésta estructura con la que vamos a trabajar para darle forma a nuestro desarrollo. Aunque primero, debemos entender por y para qué ésta estructura y dónde debemos meter mano para comenzar.
En el directorio config, por más obvio que resulte, encontraremos varios archivos de configuración que nos permitirían establecer una serie de parámetros para la aplicación que van desde url, logs, cache, base de datos hasta tablas de ruteo y controlador por defecto.
El directorio controllers tiene (seguimos con las obviedades) los controladores de la aplicación, que serán quienes se encarguen de manejar la peticiones del usuario y realizar las acciones pertinentes.
Dentro de errors podemos dejar nuestras páginas de error personalizadas.
En helpers irán funciones que nos ayudarán a resolver alguna funcionalidad o a complementar algún proceso. Los helpers en CodeIgniter son funciones procedurales.
CI soporta la implementación de diferentes idiomas, por lo cual, cada archivo de idioma qeu fuéramos a utilizar, debería guardarse en el directorio language.
El objetivo de libraries es ordenar clases que necesitemos para extender funcionalidad del framework, agregar nuevas, o incluso sobreescribir clases existentes.
Los models son los encargados de interactuar con nuestra base de datos. (Con ésta brevísima explicación no busco desarrollar el concepto de modelos del MVC, sino dar una idea de cómo estructurar la aplicación).
Finalmente, el directorio views contendrá las vistas que serán invocadas desde los diferentes controladores.
A partir de ahora, con la documentación de CodeIgniter a mano, tendremos que empezar a tocar las configuraciones y crear nuestros primeros controladores.