No esta limitado a Singleton hay muchos usos, solo era un ejemplo y el uso correcto depende del diseño de tu clase, por ejemplo si es una clase que se encarga de hacer consultas a la base de datos y quieres que todas esas clases usen una contraseña, usuario y bdd por defecto se las pasas por un valor estatico a la clase:
Manejador::setDefaultUserPasswordDb($user, $pass, $db);
Y desde tu clase manejador lees las variables estaticas por cada instancia, por ejemplo:
Código php:
Ver originalclass Manejador {
private static $_user;
private static $_pass;
private static $_db;
private $_dbLink;
public static function setDefaultUserPasswordDb( $user, $pass, $db ) {
self::$_user = $user;
self::$_pass = $pass;
self::$_db = $db;
}
public function __construct($user = '', $pass = '', $db = '') {
$this->_dbLink = new DBLink( self::$_user, self::$_pass, self::$_db );
} else {
$this->_dbLink = new DBLink( $user, $pass, $db );
}
}
}
Saludos.