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