Podemos decir que las librerías que vienen ya creadas en CodeIgniter contemplan muchos de los casos habituales que podemos necesitar resolver en páginas web, como accesos a base de datos, trabajo con calendarios, con URLs, cookies, etc. Pero esto no quiere decir que para todo problema existe una librería, porque las situaciones y casos de uso pueden ser tan variados como los gustos. Para extender las funcionalidades del framework, CodeIgniter pone a nuestra disposición un procedimiento sencillo que nos permitirá crear nuestras propias librerías, que resuelvan o den soporte a nuestras necesidades específicas. Así mismo, puede darse el caso que un programador necesite expandir una librería ya creada en CodeIgniter, para agregar o sustituir funcionalidades, o que quiera reemplazar por completo una librería ya creada en el framework con un código totalmente propio. Afortunadamente, todo se puede conseguir con CodeIgniter.
Para que quede claro, con CodeIgniter podemos crear hasta tres tipos de "librerías propias":
CodeIgniter buscará siempre las librerías en ese directorio cuando son solicitadas. Nosotros tenemos que asegurarnos siempre de cumplir las siguientes convenciones en los nombres:
<?php if ( ! defined('BASEPATH')) exit('No se permite el acceso directo al script');
class Miclase {
//funciones que queremos implementar en Miclase.
function una_function(){
}
}
?>
$this->load->library('miclase');
En este caso, es indiferente si colocamos en mayúscula la primera letra de la librería o no.si la
A partir del momento que la librería está cargada, podremos acceder a ella, para ejecutar sus métodos, siempre con el nombre en minúscula.
$this->miclase->una_function();
$params = array('p1' => 'valor 1', 'p2' => 'valor 2');
$this->load->library('Miclase', $params);
En el constructor de la clase tendríamos que recibir los parámetros de la siguiente manera:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Otraclase {
function Otraclase($params){
//Constructor, donde se supone que haremos algo con $params
}
}
?>
Aun nos quedan cosas que aprender sobre la creación de librerías propias, pero vamos a detenernos por aquí y en el siguiente artículo veremos un ejemplo de construcción y uso de librerías creadas por nosotros en CodeIgniter.