CodeIgniter, un framework, sencillo, simple y poderoso, basado en el emergente MVC. Eso me lleva a la siguiente idea, si es tan bueno y está subiendo como la espuma, ¿por qué no escribir unos ejemplos y lograr que la raza visite más mi blog?.
Bueno, comenzamos. CodeIgniter, como varios frameworks, tienen una carpeta de archivos, preorganizada, donde puedes meter tu aplicación/aplicaciones.
Teniendo como premisa éste dato, daré instrucciones prácticas y sencillas para lograr con el mínimo esfuerzo y dolor, una aplicación sencillita. Además pondré ejemplos con Prototype, Scriptaculous y Validation, los cuales son frameworks de JavaScript para AJAX.
Veremos los siguientes puntos:
- MVC.
- Organización de carpetas.
- Archivos de configuración.
Modelo Vista Controlador (MVC) es un patrón 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. El patrón MVC se ve frecuentemente en aplicaciones web, donde la vista es la página HTML y el código que provee de datos dinámicos a la página, el modelo es el Sistema de Gestión de Base de Datos y la Lógica de negocio y el controlador es el responsable de recibir los eventos de entrada desde la vista.
Estructura de archivos
geek@thebeach:~/Public/www$ ls -l ~/Public/www/CodeIgniter_1.7.0/* | awk ‘{print $NF}’
/home/geek/Public/www/CodeIgniter_1.7.0/index.php
/home/geek/Public/www/CodeIgniter_1.7.0/license.txt
/home/geek/Public/www/CodeIgniter_1.7.0/plantilla.php
/home/geek/Public/www/CodeIgniter_1.7.0/private.php
/home/geek/Public/www/CodeIgniter_1.7.0/public.php
/home/geek/Public/www/CodeIgniter_1.7.0/css:
private.css
public.css
/home/geek/Public/www/CodeIgniter_1.7.0/js:
builder.js
controls.js
dragdrop.js
effects.js
private_manage_users.js
prototype.js
public_users_view.js
scriptaculous.js
slider.js
sound.js
unittest.js
/home/geek/Public/www/CodeIgniter_1.7.0/system:
application
cache
codeigniter
database
fonts
helpers
language
libraries
logs
plugins
scaffolding
El último texto que escupió el awk es el que nos interesa, todo lo demás es paja, ya que solo habla de mi manera particular de organizar algunos archivos, en un post próximo hablaremos acerca de las carpetas CSS y JS.
La carpeta system contiene los archivos que hacen que el CI jalen sin peos.
Archivos de configuración
geek@thebeach:~/Public/www$ ls -l /home/geek/Public/www/CodeIgniter_1.7.0/system/application/public/config/ | awk ‘{print $NF}’
autoload.php
config.php
constants.php
database.php
hooks.php
index.html
mimes.php
routes.php
smileys.php
user_agents.php
¿Por qué no puse en negritas todos los archivos?, sencillo, por que no los vamos a utilizar por ahora. Al grano:
autoload.php sirve para cargar módelos, librerías y helpers, entre otras cosas.
config.php guarda en un arreglo typo ($config) algunas variables globales, útiles dentro de la vida del programa.
database.php esta es bastante descriptiva y sino, es por que no eres una persona “deductiva”.
routes.php aquí se almacenan las “rutas” para el aplicativo, entre ellos, el archivo que contiene el ‘index.php’, etc.
Estos archivos son bastante sencillos y no necesitas indagar en un libro muy grueso para comprender el funcionamiento básico de los archivos de configuración del CI.
Felices trázos.