public function __construct(S $databaseIndex = NULL) { parent::__construct(); // Do the rest ... if (!TheFactoryMethodOfSingleton::checkHasInstance(__CLASS__)) { // Set execution time for SQLHandler; self::setExeTime(new S(__CLASS__)); // Make a default databaseIndex ... switch ($databaseIndex == NULL) { case TRUE: // Yes, we set the default ... $databaseIndex = new S('db_0'); break; } # Set ALL object properties to some defaults ... self::$objSQLH = new S($GLOBALS['H'][$databaseIndex->toString()]); self::$objSQLU = new S($GLOBALS['U'][$databaseIndex->toString()]); self::$objSQLP = new S($GLOBALS['P'][$databaseIndex->toString()]); self::$objSQLD = new S($GLOBALS['D'][$databaseIndex->toString()]); self::$objSQLR = new S($GLOBALS['R'][$databaseIndex->toString()]); // Use a switch, to clean the code; if (SQL_PERSISTENT_CONNECTION == 1) { // Do return ... return (mysql_pconnect(self::$objSQLH, self::$objSQLU, self::$objSQLP) or self::renderSQLScreenOfDeath()) && (mysql_select_db(self::$objSQLD) or self::renderSQLScreenOfDeath()); } else { // Do return ... return (mysql_connect(self::$objSQLH, self::$objSQLU, self::$objSQLP) or self::renderSQLScreenOfDeath()) && (mysql_select_db(self::$objSQLD) or self::renderSQLScreenOfDeath()); } } else { // Return the instantiated object; return TheFactoryMethodOfSingleton::getInstance(__CLASS__); } }