Archivo

Posts con el Tag ‘php’

El patrón Singleton

Domingo, 1 de Noviembre de 2009

Este patrón de diseño nos permite crear una sola instancia de una clase que puede ser accesada en cualquier parte de nuestro sistema, aunque puede ser tomado como si fuera una variable globals es algo diferente.

Normalmente el Singleton se utiliza cuando se requiere conservar propiedades durante el tiempo de vida de la applicación, es decir, en lo que dura la ejecución de la página actual.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php 
class UsersOnline
{
	private $arrUsers = array();
	private static $oInstance;
 
	private function __construct() { }
 
	public static function getInstance()
	{
		if (empty(self::$oInstance)) {
			self::$oInstance = new UsersOnline();
		}
 
		return self::$oInstance;
	}
 
	public function setUser($numId, $oUser)
	{
		$this->arrUsers[$numId] = $oUser;  
	}
 
	public function getUser($numId)
	{
		return $this->arrUsers[$numId];
	}
}
?>

Ahora veamos como se utiliza por medio de un pequeño trozo de código.

1
2
3
4
5
6
7
8
9
10
<?php
include_once './UsersOnline.php';
 
$oSingleton = UsersOnline::getInstance();
$oSingleton->setUser(12345, array('name' => 'jorge'));
 
unset($oSingleton);
 
$oOtherInstance = UsersOnline::getInstance();
var_dump($oOtherInstance->getUser(12345));

La salida del script anterior nos muestra que aunque se boro la instancia $oSingleton por medio de unset(), las propiedades siguen aun existiendo.

array(1) {
  ["name"]=>
  string(5) "jorge"
}

General, Php, Programación , ,

ZendCon 2009

Domingo, 1 de Noviembre de 2009

Este año tuve la oportunidad de asistir al ZendCon 2009 y verdaderamente fue fantástico poder conocer a la gente detras de Zend y alguno que otro programador que hace posible que tengamos PHP funcionando.

Las platicas estuvieron geniales, aquí les dejo unas cuantas fotos del evento.

19102009150 21102009161 20102009158 20102009154 21102009159

Eventos, Programación , ,

Syntax highlighting

Domingo, 22 de Marzo de 2009

Acábo de actualizar la version de mi wordpress,  además añadí un plugin nuevo para resaltar código, y este post es solo para realizar una prueba y ver como funciona.

1
2
3
<?php
    echo "Hi blog!";
?>

Programación , , ,

Get Adobe Flash playerPlugin by wpburn.com wordpress themes