Librerías de CodeIgniter
Las librerías de CodeIgniter nos ayudarán a realizar nuestro trabajo más rápido y más eficientemente. Cada _librería_ es realmente una clase PHP con varios métodos que podemos utilizar una vez que dicha biblioteca se carga desde un controlador. Algunas clases son tan útiles y tan omnipresentes que puede ser que también las carguemos automáticamente (como la librería de base de datos y de sesión).
CodeIgniter incluye las siguientes librerías:
Librerías incluidas por defecto en el framework CodeIgniter
Nombre | Activada | Descripción |
---|---|---|
Benchmark | Sí | La usaremos para determinar el tiempo de ejecución entre dos puntos y calcular el consumo de memoria ejecutado por un script PHP. |
Calendar | No | Se usa para crear calendarios dinámicamente de meses o años con un cierto formato y apariencia dados. |
Cart | No | Permite usar un carrito de la compra en sesión. |
Config | Sí | La usaremos para obtener datos de configuración. |
Database | No | Proporciona un conjunto de métodos para gestionar nuestra base de datos. Es una librería que se utilizará bastante en nuestro proyecto, por lo que la veremos más detenidamente en el siguiente apartado |
No | Librería para enviar emails de forma sencilla. | |
Encrypt | No | Librería que nos proporciona métodos para encriptar datos de dos formas. |
Form_validation | No | CodeIgniter nos proporciona esta librerías diseñada específicamente para la validación de formularios. Le dedicaremos un apartado por ser una librería muy utilizada en cualquier proyecto. |
FTP | No | Con esta librería podemos enviar ficheros a un servidor remoto usando el protocolo estándar FTP. |
Image_lib | No | Librería para cambiar el tamaño de las imágenes, crear thumbnails, recortar o girar imágenes, e incluso añadir marcas de agua. Algunas funciones requieren soporte de PHP adicionales (como GD/GD2). |
Input | Sí | Se usa para pre-procesar datos de entrada (de formularios y URLs) |
Javascript | No | Se usa para incluir librerías javascript en el proyecto. |
Lang | No | Librería para cargar diferentes conjuntos de archivos de idioma para la internacionalización. |
Load | Sí | La usaremos principalmente para cargar vistas en los controladores, aunque también se utiliza para cargar o usar librerías. |
Migration | No | Para realizar migraciones/actualizaciones del sistema de forma ordenada y estructurada. |
Output | Sí | El objetivo principal de esta librería es enviar páginas web finales al navegador. Se usa también para cachear páginas. |
Pagination | No | Usaremos esta librería para paginar resultados obtenidos de una consulta de base de datos.Con esta librería podemos controlar cuantos registros queremos mostrar por página, cuantos registros obtener de la base de datos e incluso modificar el estilo de la paginación. |
Parser | No | Esta librería nos facilita el uso de pseudo-plantillas. Es similar al motor de plantillas Smarty, sin tantas funcionalidades, pero sí que nos va a proporcionar una forma programar nuestras plantillas de forma rápida y sencilla. |
Security | No | Contiene métodos que nos ayudan a crear una aplicación segura procesando los datos de entrada, por ejemplo para evitar ataques XSS y otros. |
Session | No | Esta librería nos permite mantener información del estado del usuario. Esta librería no usa las sesiones nativas de PHP sino que genera su propio manejador de sesiones. Como en nuestro proyecto hacemos un uso intensivo de las sesiones, dedicaremos un apartado completo a esta librería. |
Table | No | Librería para generar tablas HTML a partir de arrays o conjuntos de resultados obtenidos de bases de datos. |
Trackback | No | Librería para enviar y recibir información trackback (enlace inverso que se usa en los weblogs para saber que enlaces apuntan a un post en concreto) |
Typography | No | Librería para preformatear datos que vayamos a mostrar al usuario, por ejemplo, convertir saltos de línea en ' ', etcétera. |
Unit_test | No | Librería para crear casos prueba unitarios de nuestra aplicación. CodeIgniter nos ofrece una función de evaluación y dos funciones de resultado en esta librería. |
Upload | No | Se utiliza para gestionar la subida de ficheros al servidor de forma sencilla. Incluye funciones de validación para restringir el tipo MIME de un archivo, su tamaño (en kilobytes), o incluso dimensiones de una imagen. |
URI | Sí | Usaremos esta librería para cuando queramos parsear una URL y obtener valores de algún segmento de la misma que necesitemos pasar a un controlador o almacenar como variables. |
User_agent | No | Librería para saber si es un navegador, dispositivo móvil, o un robot el que visita nuestro sitio. Podemos usarlo también para detectar idiomas soportados, juegos de caracteres, e incluso procedencias. |
XML-RPC (xmlrpc) | No | Usaremos esta librería para conectar con clientes y servidores mediante XML-RPC (protocolo de llamada a un procedimiento remoto) |
Zip | No | Librería para comprimir archivos en formato Zip |
Más adelante veremos algunas de estas librerías con más profundidad.