Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Un Singleton asegura que slo exista una instancia de una determinada clase y ofrece un punto de acceso global a esa instancia. El singleton es un Patrn Creacional del "Gang of Four" (La Banda de los Cuatro). A menudo se utiliza el patrn singleton para implementar clases de bases de datos, registros, controladores frontales u objetos de peticin y respuesta. Ejemplo #2 Ejemplo de Singleton
<?php class Ejemplo { private static $instancia; private $count = 0; private function __construct() { } public static function singleton() { if (!isset(self::$instancia)) { echo 'Creando nueva instancia.'; $nombreClase = __CLASS__; self::$instancia = new $nombreClase; } return self::$instancia; } public function incremento() { echo $this->count++; } public function __clone() { trigger_error('No se permite la clonacin.', E_USER_ERROR); } public function __wakeup() { trigger_error('No se permite deserializar.', E_USER_ERROR); } } ?>
echo $singleton->incremento(); // 2 echo $singleton->incremento(); // 3 // todos estos emitirn un Error Fatal $singleton2 = new Ejemplo; $singleton3 = clone $singleton; $singleton4 = unserialize(serialize($singleton)); ?>