Espacio Daycry - Espacio de programación

  • Inicio
  • Categorias
    • - Codeigniter
    • - Symfony
    • - HTML5
    • - Linux / Ubuntu
    • - PHP
    • - Jquery
  • PortFolio - Proyectos Codeiniter
    • - Encuestas Online
    • - Estadísticas - GLPI
    • - Gestión de colas
    • - Web Service - REST

lunes, 4 de agosto de 2014

Creación de librerías en Codeigniter

Posted by daycry at 16:21 Labels: Codeigniter , Framework , librerías , programación
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:

  1. Añadiendo la librería en el archivo de configuración autoload.php
  2. Cargando la librería en el propio controlador donde se vaya a utilizar
Si es una librería propio que no extiende de ninguna clase de Codeigniter, la forma de cargar la librería es la siguiente:

$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.
Tweet

Related Posts

  • PHPExcel - Codeigniter
    PHPExcel - Codeigniter
  • Codeigniter - Múltiples conexiones a base de datos
    Codeigniter - Múltiples conexiones a base de datos
  • Clase Email PHPMailer - Codeigniter
    Clase Email PHPMailer - Codeigniter
  • TinyMCE en Codeigniter
    TinyMCE en Codeigniter

No hay comentarios :

Publicar un comentario

Entrada más reciente Entrada antigua Inicio
Suscribirse a: Enviar comentarios ( Atom )

Sígueme en las Redes Sociales



Follow @daycry9



Donaciones

Suscribirse a

Entradas
Atom
Entradas
Comentarios
Atom
Comentarios

Datos personales

daycry
Ver todo mi perfil

Entradas populares

  • Crear archivos PHP ejecutables por terminal UBUNTU
    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...
  • Pâginación PHP con Librería Zebra Pagination
    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...
  • PHPExcel - Codeigniter
    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...
  • PHP- Operaciones con fechas - Sumar Horas, minutos y segundos
    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 ...
  • Codeigniter - Múltiples conexiones a base de datos
    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