Los miembros de una clase (variables y métodos) pueden declararse
estáticos, de modo que sean accesibles fuera de una instancia de
la dicha clase.
<?php
class Singleton {
private static $instance;
private function __construct() { /* ... */ }
static function getInstance() {
if (empty(self::$instance)) {
self::$instance = new Singleton();
}
return self::$instance;
}
}
$var1 = Singleton::getInstance();
$var2 = Singleton::getInstance();
if ($var1 === $var2) {
echo 'El patrón de diseño de Singleton se pasa';
}
?>
... resultando en
El patrón de diseño de Singleton se pasa