Re: php and var statics

From: Date: Tue, 26 Aug 2003 13:58:00 +0000
Subject: Re: php and var statics
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-160756@lists.php.net to get a copy of this message
Alvaro Martinez wrote:
I have written this code: class db{
       var $_miInstancia;
       function db (){
          // funcion que se conecta con la BBDD
             static $miInstancia;
             $this->_miInstancia=&$miInstancia;
             $result = @mysql_pconnect("inforalv", "discoteca", "password");
             if (!$result)
               return false;
             if (!@mysql_select_db("discoteca"))
               return false;
       }
function getInstancia(){ if (!isset($this))
      $_miInstancia=new db();
return $_miInstancia; } } This is a Singleton Pattern, but it doesnt work. I want to obtain only one instance of db class but when I do this...: $conexiondb=db::getInstancia(); $conexiondb=db::getInstancia(); In the two calls I get a new db object. Could you please tell me if there is anything wrong?
two mistakes - you need to use &, and the static var must be in getInstancia() function &getInstancia(){
    static $miInstancia;
    if (!get_class($miInstancia) == 'db') {
        $miInstancia = &new db();
    }
    return $miInstancia;
} $conexiondb = &db::getInstancia(); Regards, Greg -- http://www.phpdoc.org phpDocumentor

« previous php.general (#160756) next »