Ver Mensaje Individual
  #4 (permalink)  
Antiguo 05/05/2009, 09:39
Avatar de GatorV
GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 7 meses
Puntos: 2135
Respuesta: static function

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 original
  1. class Manejador {
  2.       private static $_user;
  3.       private static $_pass;
  4.       private static $_db;
  5.  
  6.       private $_dbLink;
  7.  
  8.       public static function setDefaultUserPasswordDb( $user, $pass, $db ) {
  9.              self::$_user = $user;
  10.              self::$_pass = $pass;
  11.              self::$_db = $db;
  12.       }
  13.  
  14.       public function __construct($user = '', $pass = '', $db = '') {
  15.              if( empty( $user ) && empty( $pass ) && empty( $db ) ) {
  16.                     $this->_dbLink = new DBLink( self::$_user, self::$_pass, self::$_db );
  17.              } else {
  18.                     $this->_dbLink = new DBLink( $user, $pass, $db );
  19.              }
  20.       }
  21. }

Saludos.