Un framework es un programa para desarrollar otros programas, CodeIgniter, por tanto, es un programa o aplicación web desarrollada en PHP para la creación de cualquier tipo de aplicación web bajo PHP. Es un producto de código libre, libre de uso para cualquier aplicación.
Como cualquier otro framework, Codeigniter contiene una serie de librerías que sirven para el desarrollo de aplicaciones web y además propone una manera de desarrollarlas que debemos seguir para obtener provecho de la aplicación. Esto es, marca una manera específica de codificar las páginas web y clasificar sus diferentes scripts, que sirve para que el código esté organizado y sea más fácil de crear y mantener. CodeIgniter implementa el proceso de desarrollo llamado Model View Controller (MVC), que es un estándar de programación de aplicaciones, utilizado tanto para hacer sitios web como programas tradicionales. Este sistema tiene sus características, que veremos en artículos siguientes.
CodeIgniter no es magia, pero contiene muchas ayudas para la creación de aplicaciones PHP avanzadas, que hacen que el proceso de desarrollo más rápido. A la vez, define una arquitectura de desarrollo que hará que programemos de una manera más ordenada y contiene diversas herramientas que ayudan a hacer aplicaciones más versátiles y seguras.
CodeIgniter y otros frameworks PHP pueden ayudarte a dar el salto definitivo como desarrollador PHP, creando aplicaciones web más profesionales y con código más reutilizable, con la diferencia que Code Igniter está creado para que sea fácil de instalar en cualquier servidor y de empezar a usar que cualquier otro framework. Además muchas de sus utilidades y modos de funcionamiento son opcionales, lo que hace que goces de mayor libertad a la hora de desarrollar sitios web.
Características generales de CodeIgniter
Algunos de los puntos más interesantes sobre este framework, sobre todo en comparación con otros productos similares, son los siguientes:
Versatilidad: Quizás la característica principal de CodeIgniter, en comparación con otros frameworks PHP. CodeIgniter es capaz de trabajar la mayoría de los entornos o servidores, incluso en sistemas de alojamiento compartido, donde sólo tenemos un acceso por FTP para enviar los archivos al servidor y donde no tenemos acceso a su configuración.
Compatibilidad: CodeIgniter, al menos en el momento de escribir este artículo de desarrolloweb.com, es compatible con la versión PHP 4, lo que hace que se pueda utilizar en cualquier servidor, incluso en algunos antiguos. Por supuesto, funciona correctamente también en PHP 5.
Facilidad de instalación: No es necesario más que una cuenta de FTP para subir CodeIgniter al servidor y su configuración se realiza con apenas la edición de un archivo, donde debemos escribir cosas como el acceso a la base de datos. Durante la configuración no necesitaremos acceso a herramientas como la línea de comandos, que no suelen estar disponibles en todos los alojamientos.
Flexibilidad: CodeIgniter es bastante menos rígido que otros frameworks. Define una manera de trabajar específica, pero en muchos de los casos podemos seguirla o no y sus reglas de codificación muchas veces nos las podemos saltar para trabajar como más a gusto encontremos. Algunos módulos como el uso de plantillas son totalmente opcionales. Esto ayuda muchas veces también a que la curva de aprendizaje sea más sencilla al principio.
Ligereza: El núcleo de CodeIgniter es bastante ligero, lo que permite que el servidor no se sobrecargue interpretando o ejecutando grandes porciones de código. La mayoría de los módulos o clases que ofrece se pueden cargar de manera opcional, sólo cuando se van a utilizar realmente.
Documentación tutorializada: La documentación de CodeIgniter es fácil de seguir y de asimilar, porque está escrita en modo de tutorial. Esto no facilita mucho la referencia rápida, cuando ya sabemos acerca del framework y queremos consultar sobre una función o un método en concreto, pero para iniciarnos sin duda se agradece mucho.
Sin duda, lo más destacable de CodeIgniter es su accesibilidad, ya que podemos utilizarlo en la mayor gama de entornos. Esta es la razón por la que en DesarrolloWeb.com hemos elegido este framework PHP para comenzar un manual que explicará cómo utilizarlo para desarrollar nuestras propias aplicaciones web.
Instalación y configuración de CodeIgniter
Una de las ventajas de este framework PHP es que su instalación es muy sencilla.
Veremos a continuación algunos detalles sobre el proceso de instalación y configuración. Afortunadamente para las personas con menos experiencia, los pasos son bien simples. Como podrás comprobar, se trata básicamente de descargar el framework (un .zip), descomprimirlo y luego subir los ficheros al servidor.
Requisitos de servidor
Necesitamos disponer de un servidor PHP 4 ó PHP 5. Ambos funcionan perfectamente y en el caso de PHP 4, la versión mínima que debemos tener es la PHP 4.3.2.
Por lo que respecta a las bases de datos, CodeIgniter es compatible con unas cuantas, las más habituales en e desarrollo de webs: MySQL (4.1 o posterior), MySQLi, MS SQL, Postgres, Oracle, SQLite, y acceso a cualquier base de datos en entornos Windows por ODBC.
La versión 2 de CodeIgniter es únicamente compatible con PHP 5. En concreto necesitarás PHP 5.1.6 o superior. Las versiones del framework un poco más antiguas, que soportan PHP 4, son hasta CodeIgniter V 1.7.3.
Descarga de CodeIgniter
Podemos descargar la versión más actualizada de CodeIgniter directamente desde su página web, en la sección de descargas: http://www.codeigniter.com/download
Instalación de CodeIgniter en 4 sencillos pasos
1.- Descomprimir el paquete
Descomprime el archivo de descarga que has descargado
2.- Sube codeIgniter a tu servidor
Ahora tienes que subir todos los archivos descomprimidos a tu servidor web.
Opción A: Si estás programando en tu ordenador local, para pruebas y desarrollo, deberás tener un servidor instalado en tu ordenador que soporte PHP, para lo que te recomendamos los paquetes Wamp o Xampp. En este caso tendrás que copiar simplemente los archivos de codeIgniter en el directorio de publicación de tu servidor. Puedes colocar los archivos en la raíz del directorio de publicación o bien en un subdirectorio cualquiera.
Opción B: Si estás subiendo CodeIgniter a un servidor web de Internet, en un espacio que tengas contratado de hosting, deberás subir por FTP todos los archivos. Lo general es que copies CodeIgniter en la raíz de tu dominio, para que todas las páginas del dominio se sirvan a través del framework PHP, pero nada te impide copiar CodeIgniter en un subdirectorio particular, para que tu dominio web sólo funcione bajo CodeIgniter en la carpeta donde lo has subido.
3.- Configura la URL base de tu aplicación web
Necesitas decirle a CodeIgniter la URL base de tu aplicación, es decir, la URL para acceder a la raíz de CodeIgniter, según en el servidor y directorio donde lo has colocado, es decir, donde has subido el código del framework. Para ello tienes que abrir el archivo de configuración, que se encuentra en system/application/config/config.php, con cualquier editor de texto y cambiar la variable de configuración llamada que se guarda en $config[‘base_url’].
Si hemos instalado en local CodeIgniter pondremos http://localhost/ y si además lo colocamos en un directorio específico podría ser algo como http://localhost/directorio_codeigniter
Si hemos instalado el framework en un dominio de Internet podremos indicar algo como http://eldominiodeinstalacion.com/ y si hicimos una carpeta para subir CodeIgniter en ella pondremos el nombre del dominio y luego el nombre de la carpeta o carpetas, separadas por barras y acabando siempre en una barra: http://eldominioquesea.com/carpeta/otracarpeta/
Según nos indican en el manual de instalación, aparte de este dato podemos opcionalmente escribir una llave de encriptación en la variable $config[‘encryption_key’], que servirá si deseamos usar la clase de encriptado que proporciona CodeIgniter o queremos que nuestras variables de sesión estén encriptadas, algo que hace el framework de manera transparente para nosotros.
4. Configurar la base de datos
En este último paso tendrás que indicar los datos de acceso a la base de datos que piensas utilizar con CodeIgniter, ya que prácticamente todas las aplicaciones web que podrás crear con el framework van a tener que utilizar la base de datos para algo. Para ello tenemos que editar el archivo system/application/config/database.php e indicar los parámetros de conexión al servidor de base de datos, como el nombre del servidor y nombre de la base de datos, el usuario y la contraseña.
Con esto ya tenemos todo listo para comenzar a crear nuestras aplicaciones web PHP. Podemos testar CodeIgniter accediendo a la URL donde lo hemos instalado. Debemos ver el mensaje de bienvenida de CodeIgniter que nos confirma que está funcionando.