On Jan 16, 2008 1:36 PM, Julian <[EMAIL PROTECTED]> wrote:

> I would like to understand what am I missing fom the concept....


here are the issues i see;

you should have a private static for the instance of dbaccess
you should have a private instance variable for the instance of the mysqli
class
you should be able to programatically handle failure to connect to the
database

in the code i show here, you do not have to return the mysqli instance from
dbaccess::GetDb()
if you prefer, that method would return the instance to the singleton, then
you would
have a public accessor method that would return the instance of the mysqli
class.
this is the simpler of the 2 options.

class dbaccess{
  private static $instance = null;  // instance of dbaccess
  public static $othervar=33;       // dont know what this is for, but you
can keep it if you want
  private $mySqliConn = null;      // instance of mysqli

  private  function dbaccess() {
    $this->mySqliConn = new mysqli("localhost",USER,PASSWD,DB);
    if(mysqli_connect_errno()) {
      throw new RuntimeException(mysqli_connect_error());
    }
  }

public static function GetDb(){
  if(dbaccess::$instance == null) {
     dbaccess::$instance = new dbaccess();
  }
  return  $this->mySqliConn;
  }
}

-nathan

Reply via email to