Librerías de CodeIgniter

  • Por
  • PHP
Qué son las librerías de CodeIgniter, cómo cargarlas en los controladores o configurar el framework PHP para que las cargue automáticamente.
CodeIgniter, el más accesible de los frameworks PHP populares, tiene bibliotecas de código para realizar diversas cosas interesantes y útiles. Por un lado tenemos los Helpers, que implementan juegos de funciones y que ya relatamos en artículos anteriores del Manual de CodeIgniter. Por otro lado tenemos las librerías, que vamos a tratar en este artículo.

Las librerías en CodeIgniter son clases de programación orientada a objetos (POO) preparadas para realizar tareas típicas en el desarrollo de páginas web. Implementan clases, de POO, para resolver problemas muchas veces similares a los que resuelven los Helpers, pero son un poco más especializadas en temas particulares. Algunos ejemplos de librerías que se dispone en CodeIgniter son para trabajar con bases de datos, FTP, upload de archivos, sesiones, calendario, etc.

Así pues, podemos decir que las liberías (libraries en inglés) son uno de los componentes que más tiempo nos ahorrarán a la hora de desarrollar una web, pues contienen código que resultará siempre útil. El trabajo con las librerías es bastante simple, como veremos a continuación.

Carga de librerías

Para cargar una library en CodeIgniter tenemos que indicarlo explícitamente, pues en este framework no se carga nada por defecto, salvo contadas excepciones, para optimizar el tiempo de respuesta de PHP al procesar las páginas. Para ello tenemos que invocar el siguiente código:

$this->load->library('nombre de la clase');

Donde 'nombre de la clase' es el nombre de la librería, o clase de POO, que queremos cargar.

Nota: Realmente todas las librerías no se necesitan cargar, puesto que hay algunas que ya se encuentra por defecto disposición de nuestros scripts, sin tener que cargarlas explícitamente. Esto es porque algunas librerías son fundamentales para el funcionamiento del núcleo de CodeIgniter. Por ejemplo, siempre tendremos disponibles las librerías que implementan las clases de Output, Input o URI.

Por ejemplo, si quisiéramos cargar la librería de Email, que facilita el envío de correos por medio de PHP, tendríamos que utilizar el siguiente código:

$this->load->library('email');

Ya que son clases de POO, una vez cargada tenemos que utilizar sus métodos para poner en marcha sus funcionalidades. Dentro de los controladores, para acceder a la clase y sus métodos utilizamos el nombre de la clase como una propiedad de $this.

Por ejemplo, en el caso de la librería email, para definir quién envía un correo electrónico utilizamos un código como este:

$this->email->from('tu@dominio.com', 'Nombre del remitente');

En la guía de usuario de CodeIgniter existe una referencia completa sobre cada una de las clases y su utilización. Nosotros iremos viendo ejemplos de uso en futuros artículos.

Carga automática de librarías en CodeIgniter

Como ya sabemos, antes de utilizar una clase de una de las librerías de CodeIgniter, tenemos que cargarla en el controlador. No obstante, también tenemos la opción de indicar en nuestros archivos de configuración la carga predeterminada de algunas librerías, para que estén disponibles en todas las páginas sin necesidad de cargarlas en los controladores.

Para indicar las librerías que queremos cargar automáticamente tenemos que editar el archivo autoload.php, que está en la ruta:

system/application/config/autoload.php

En ese archivo encontraremos un array llamado libraries, donde podemos indicar todos los nombres de las librerías a cargar, por ejemplo:

$autoload['libraries'] = array('database', 'session', 'form_validation');

Para ilustrar cómo se deben utilizar las librerías de CodeIgniter hemos publicado un ejemplo de uso de la librería Calendar.