lunes, 4 de agosto de 2014
Creación de librerías en Codeigniter
Las librerías son clases que permiten la re utilización de código para evitar duplicidades, ya que una librería no es más que un conjunto de funciones que se pueden llegar a utilizar varias veces en un mismo código.Las librerías en Codeigniter tienen esa misma función, ya que el core de dicho framework ya viene previsto de librerías muy útiles como por ejemplo la conexión a la base de datos, el envío de emails, encriptación de cadenas, entre otras.
Aunque estas librerías ya esten hechas, el framework nos permite crear librerías nuevas o incluso extender esa librerías en el caso de que quisiéramos añadir alguna funcionalidad extra.
Todas las clases que desarrollemos tienen que estar situadas dentro de la carpeta: application/libraries
Por convención si nuestra clase tiene que tener el nombre de email, el fichero se debería de llamar: MY_library.php.
(Mas adelante os explicaré el motivo).
La estructura de dichas clases es la siguiente:
En el caso de que sea una librería propia, que no extienda de ninguna librería del core sería de la siguiente forma:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class MY_Library { public function __construct($params) { // Do something with $params } } ?>
En el caso de que nuestra librería amplie la funcionalidades de una librería del core del Codeigniter, la declaración de la clase es parecida a la declaración anterior con una sola diferencia, se ha de añadir el concepto extends.
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class MY_Email extends CI_Email { public function __construct() { parent::__construct(); } }
Una vez declaradas las librerías, lo que se debe hacer es cargarlas en el framework.
Se puede hacer de dos formas diferentes:
- Añadiendo la librería en el archivo de configuración autoload.php
- Cargando la librería en el propio controlador donde se vaya a utilizar
$this->load->library('MY_Library'); //desde el controlador
$autoload['libraries'] = array('MY_Library'); //desde el fichero de configuración autoload.php
En cambio si la librería extiende de una clase de Codeigniter como por ejemplo la librería email, que ya existe en el core, simplemente se ha de cargar llamando a la librería por su nombre original.
$this->load->library('email'); //desde el controlador
$autoload['libraries'] = array('email'); //desde el fichero de configuración autoload.php
Porque el prefijo MY_
El prefijo MY_ es un prefijo que viene dado en la configuración de Codeigniter en el archivo de configuración config.php.
$config['subclass_prefix'] = 'MY_';
Este prefijo es modificable a pesar de que yo aconsejo dejarlo por el que viene por defecto, y lo utiliza Codeigniter para saber si es una clase propia que extiende de una clase core.
Aunque la primera librería que hemos creado MY_Library no extiende de ninguna, aconsejo que todas las librerías que desarrolléis tengan la misma forma, para no causar confuciones.
Suscribirse a:
Enviar comentarios
(
Atom
)
Sígueme en las Redes Sociales
Donaciones
Datos personales
Entradas populares
-
En este apartado vamos a explicar como ejercutar archivos PHP a través del terminal de Ubuntu. Lo primero que tendríamos que hacer es inst...
-
En este blog voy a comentar un tema que se utilizan en casi todas las páginas web que existen, y es el tema de la paginación. La paginaci...
-
Este post trata de la integración de la librería PHPExcel en Codeigniter, aunque se podría aplicar a cualquier librería, como por ejemplo mP...
-
Ejemplo para añadir o sumar un número determinado de hora/s, minuto/s, segundo/s a una fecha en php. Con la función strtotime se puede ...
-
Este tema es uno de los temas primordiales sobre el framework Codeigniter, ya que en alguna ocación nos hemos visto obligados a recoger dato...
© Espacio Daycry - Espacio de programación 2013 . Powered by Bootstrap , Blogger templates and RWD Testing Tool
No hay comentarios :
Publicar un comentario