Ok, I correct the two mistakes but it doesnt works yet. What is character & for?
Alvaro ----- Original Message ----- From: "Greg Beaver" <[EMAIL PROTECTED]> To: "Alvaro Martinez" <[EMAIL PROTECTED]> Cc: <[EMAIL PROTECTED]> Sent: Tuesday, August 26, 2003 3:58 PM Subject: Re: php and var statics 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 ([EMAIL PROTECTED]("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 -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php