Archivo

Entradas Etiquetadas ‘Constructor’

Usando ‘Hooks’ en CodeIgniter

Martes, 17 de Marzo de 2009

Muchas veces nos encontraremos, al programar nuestras aplicaciones, que necesitamos realizar una tarea en todas las paginas por igual, en un mismo momento. Hay una solución para eso, muy muy mala, que es hacer un copy&paste del código en todas las paginas (si.. si.. quien no ha hecho eso alguna vez…).

Por suerte CodeIgniter nos trae de la mano una buena herramienta llamada ‘Hooks’ o ganchos, que simplemente nos permite hacer eso, ejecutar determinadas funciones en un determinado momento.

El “determinado momento”, básicamente puede ser:

  • pre_system: al principio de la ejecución del sistema, sin haber cargado básicamente nada.
  • pre_controller: ejecutar antes de cargar el controlador, una vez cargadas las librerías y todo el systema básico.
  • post_controller_constructor: justo se ejecutar tras el constructor del controlador pero antes de cualquier función.
  • post_controller: se ejecutará una vez lo haya hecho el controlador.
  • display_override: esto es para sobrescribir la función que nos muestra la pagina finalizada en el navegador.
  • cache_override: lo mismo pero para la función de cache, nos permite sobreescrivirla.
  • scaffolding_override: para crear nuestro propio scaffolding.
  • post_system: ejecutará el código al final de todos los procedimientos.

En la user_guide de Codeigniter podréis encontrar esta información más extendida.

Bien, para que quede más claro, vamos a ver un ejemplo. En este caso supondremos que estamos trabajando en una página web multilenguaje. Y queremos crear un ‘hook’ que nos lea una variable de sesión que contiene el idioma que hay seleccionada y con eso nos cargue el idioma especificado (para los que no sepáis como funciona la “language class”, echarle un vistazo en la guía).
Leer más…

Lagarto CodeIgniter, Programación web , , , , , , ,

Sistema de Usuarios (Segunda parte): Clase ‘Centinela’ I

Domingo, 15 de Junio de 2008

En la primera publicación de este taller planificamos de forma muy genérica como queríamos nuestro sistema de usuarios. Hoy vamos a concretar un poco más y empezaremos a definir como sera nuestra clase ‘Centinela’ que se encargará de controlar nuestro sistema.

Nuestra ‘clase’, será una librería por lo tanto nos miraremos en la fantástica guía de CodeIgniter cómo funcionan las librerías. En definitiva lo que nos interesa es que alojaremos nuestro “Centinela.php” en application/libraries. Nuestro archivo empezará con una mayúscula. Al principio de nuestro php pondremos para que no puedan acceder de manera no controlada a nuestra clase:

	if(!defined('BASEPATH'))
		exit('No direct script access allowed');

Nuestra clase necesitará de unas variables para que podamos almacenar los datos que usaremos:

  • id: será la id de nuestro usuario un valor numerico y único.
  • nick: será el nombre de nuestro usuario.
  • clave: será la contraseña de nuestro usuario (encriptada)
  • nivel: se refiere al nivel del usuario (invitado, operador, administrador, etc..). Como mayor sea el valor más alto será el cargo.
  • auth: será una variable booleana. Si vale “TRUE”, es que el usuario estará bien autentificado.

Leer más…

Lagarto CodeIgniter, Sistema de usuarios , , , , , ,