Registry Pattern en PHP5
El registry pattern, pese a su simplicidad, es un patrón sumamente útil para nuestros desarrollos en OOP.
En resumidas palabras, el Registry Pattern, es un medio simple y eficiente de compartir datos y objetos en nuestra aplicación sin tener que preocuparse de mantener numerosos parámetros o hacer uso de variables globales.
El objeto que compone el patrón simplemente debe contener un array compuesto de pares clave – que podrán ser datos simples u objetos de cualquier tipo. Así mismo también se puede proveer al objeto registry de mecanismos de control para la gestión de los elementos insertados en su array (cantidad de elementos, control de duplicaciones de key, eliminación de elementos, etc.).
Veamos un pequeño ejemplo:
<?php
class Registry
{
private $datos = array();
public function add($key, $object)
{
if(!isset($this->datos[$key]))
{
$this->datos[$key] = $object;
}
}
public function remove($key)
{
if(!isset($this->datos[$key]))
{
unset($this->datos[$key]);
}
}
public function get($key)
{
if(!isset($this->datos[$key]))
{
return $this->datos[$key];
}
}
public function exist($key)
{
if(isset($this->datos[$key]))
{
return true;
}
else return false;
}
}
?>
Luego podemos usar la clase Registry instanciandola:
$registry = new Registry();
if(!$registry->exist(“usuario”)) $registry->add(“usuario”, $usuario);
…
$usuario = $registry->get(“usuario”);
…
De esta manera podemos asegurar que tendremos accesibles las variables y objetos que queramos siempre que pasemos el objeto registry al constructor de cualquiera de esos objetos.
¿Más simple imposible no?
Bien, hasta aquí esta nueva pequeña introducción a los patrones de diseño… esperamos vuestros comentarios y aportaciones.
Màrius Armenteras Comellas
Todavía no hay comentarios
Replica