CodeIgniter - Bibliotecas
La parte esencial de un marco CodeIgniter son sus bibliotecas. Proporciona un rico conjunto de bibliotecas, que indirectamente aumentan la velocidad de desarrollo de una aplicación. La biblioteca del sistema se encuentra en system / libraries. Todo lo que tenemos que hacer es cargar la biblioteca que queremos usar. La biblioteca se puede cargar como se muestra a continuación:
$this->load->library('class name');
Dónde class namees el nombre de la biblioteca que queremos cargar. Si queremos cargar varias bibliotecas, simplemente podemos pasar una matriz como argumento alibrary() funciona como se muestra a continuación -
$this->load->library(array('email', 'table'));
Clases de biblioteca
Las clases de la biblioteca se encuentran en system/libraries. Cada clase tiene varias funciones para simplificar el trabajo de desarrollo. La siguiente tabla muestra los nombres de la clase de biblioteca y su descripción.
SN | Clase y descripción de la biblioteca |
---|---|
1 | Benchmarking Class La clase de evaluación comparativa siempre está activa, lo que permite calcular la diferencia de tiempo entre dos puntos marcados. |
2 | Caching Class Esta clase almacenará en caché las páginas para acceder rápidamente a la velocidad de la página. |
3 | Calendaring Class Con esta clase, puede crear calendarios de forma dinámica. |
4 | Shopping Cart Class Con esta clase, puede agregar o quitar un artículo del carrito de compras. Los elementos se guardan en sesión y permanecerán activos hasta que el usuario navegue por el sitio. |
5 | Config Class Las preferencias de configuración se pueden recuperar utilizando esta clase. Esta clase se inicializa automáticamente. |
6 | Email Class Esta clase proporciona funciones relacionadas con el correo electrónico, como enviar o responder a un correo electrónico. |
7 | Encryption Class Esta clase proporciona una funcionalidad de cifrado de datos bidireccional. |
8 | File Uploading Class Esta clase proporciona funcionalidades relacionadas con la carga de archivos. Puede establecer varias preferencias, como el tipo de archivo que se cargará, el tamaño de los archivos, etc. |
9 | Form Validation Class Esta clase proporciona varias funciones para validar la forma. |
10 | FTP Class Esta clase proporciona varias funciones relacionadas con FTP, como transferir archivos para eliminar el servidor, mover, cambiar el nombre o eliminar archivos en el servidor. |
11 | Image Manipulation Class La manipulación de imágenes como cambio de tamaño, creación de miniaturas, recorte, rotación, marca de agua se puede hacer con la ayuda de esta clase. |
12 | Input Class Esta clase procesa previamente los datos de entrada por razones de seguridad. |
13 | Language Class Esta clase se utiliza para la internacionalización. |
14 | Loader Class Esta clase carga elementos como archivos de vista, controladores, ayudantes, modelos, etc. |
15 | Migrations Class Esta clase proporciona funcionalidades relacionadas con las migraciones de bases de datos. |
dieciséis | Output Class Esta clase envía la salida al navegador y también almacena en caché esa página web. |
17 | Pagination Class Esta clase agrega funcionalidades de paginación a la página web. |
18 | Template Parser Class La clase de analizador de plantillas puede realizar una sustitución de texto simple para las pseudovariables contenidas en sus archivos de vista. Puede analizar variables simples o pares de etiquetas de variables. |
19 | Security Class Esta clase contiene funciones relacionadas con la seguridad como filtrado XSS, CSRF, etc. |
20 | Session Library Esta clase proporciona funcionalidades para mantener la sesión de su aplicación. |
21 | HTML Table Esta clase se utiliza para generar automáticamente tablas HTML a partir de resultados de bases de datos o matrices. |
22 | Trackback Class La clase Trackback proporciona funciones que le permiten enviar y recibir datos de Trackback. |
23 | Typography Class La clase de tipografía proporciona métodos que ayudan a dar formato al texto. |
24 | Unit Testing Class Esta clase proporciona funcionalidades para realizar pruebas unitarias de su aplicación y generar el resultado. |
25 | URI Class La clase URI proporciona métodos que le ayudan a recuperar información de sus cadenas URI. Si usa el enrutamiento URI, también puede recuperar información sobre los segmentos redirigidos. |
26 | User Agent Class La clase de agente de usuario proporciona funciones que ayudan a identificar información sobre el navegador, dispositivo móvil o robot que visita su sitio. Además, puede obtener información de referencia, así como información sobre el idioma y el conjunto de caracteres admitidos. |
27 | XML-RPC and XML-RPC Server Classes Las clases XML-RPC de CodeIgniter le permiten enviar solicitudes a otro servidor o configurar su propio servidor XML-RPC para recibir solicitudes. |
28 | Zip Encoding Class Esta clase se utiliza para crear archivos zip de sus datos. |
Creando Bibliotecas
CodeIgniter tiene un amplio conjunto de bibliotecas, que puede encontrar en system/libraries carpeta, pero CodeIgniter no solo se limita a las bibliotecas del sistema, también puede crear sus propias bibliotecas, que se pueden almacenar en application/librariescarpeta. Puede crear bibliotecas de tres formas.
- Crear nueva biblioteca
- Amplíe la biblioteca nativa
- Reemplazar la biblioteca nativa
Crear nueva biblioteca
Al crear una nueva biblioteca, se deben tener en cuenta las siguientes cosas:
- El nombre del archivo debe comenzar con una letra mayúscula, por ejemplo, Mylibrary.php
- El nombre de la clase debe comenzar con una letra mayúscula, por ejemplo, class Mylibrary
- El nombre de la clase y el nombre del archivo deben coincidir.
Mylibrary.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Mylibrary {
public function some_function() {
}
}
/* End of file Mylibrary.php */
Loading the Custom Library
La biblioteca anterior se puede cargar simplemente ejecutando la siguiente línea en su controlador.
$this->load->library(‘mylibrary’);
mylibrary es el nombre de su biblioteca y puede escribirlo tanto en minúsculas como en mayúsculas. Utilice el nombre de la biblioteca sin la extensión ".php". Después de cargar la biblioteca, también puede llamar a la función de esa clase como se muestra a continuación.
$this->mylibrary->some_function();
Amplíe la biblioteca nativa
A veces, es posible que deba agregar su propia funcionalidad a la biblioteca proporcionada por CodeIgniter. CodeIgniter ofrece la posibilidad de ampliar la biblioteca nativa y agregar sus propias funciones. Para lograr esto, debe extender la clase de biblioteca nativa. Por ejemplo, si desea ampliar la biblioteca de correo electrónico, puede hacerlo como se muestra a continuación:
Class MY_Email extends CI_Email {
}
Aquí, en el ejemplo anterior, la clase MY_Email está ampliando la clase de correo electrónico CI_Email de la biblioteca nativa. Esta biblioteca se puede cargar mediante la forma estándar de cargar la biblioteca de correo electrónico. Guarde el código anterior en el archivo My_Email.php
Reemplazar la biblioteca nativa
En algunas situaciones, no desea utilizar la biblioteca nativa de la forma en que funciona y desea reemplazarla a su manera. Esto se puede hacer reemplazando la biblioteca nativa. Para lograr esto, solo necesita dar el mismo nombre de clase que se nombra en la biblioteca nativa. Por ejemplo, si desea reemplazar elEmail class, luego use el código como se muestra a continuación. Guarde su nombre de archivo conEmail.php y darle un nombre de clase a CI_Email.
Email.php
Class CI_Email {
}