czegos chyba nie do konca rozumiem i mam prosbę o wyjaśnienie

Mam kod jak ponizej:
<?php class DataBase{ private function __construct ( ) { self::$AdoDbLiteInstance = NewADOConnection("mysqlt"); self::$AdoDbLiteInstance->Connect($dbHost, $dbUser, $dbPass, $dbName); self::$AdoDbLiteInstance->Execute("SELECT * FROM tabla"); //2 } { self::$AdoDbLiteInstance = new self(); self::$AdoDbLiteInstance->Execute("SELECT * FROM tabla"); //6 return self::$AdoDbLiteInstance; } } ?>
wynikiem dzialania
$db = DataBase::getInstance(); jest
Cytat
getinstance //4
konstruktor //1
Object id #4 //3
Object id #3 //5
Fatal error: Call to undefined method DataBase::Execute() in class/DataBase.class.php on line 32 //6
konstruktor //1
Object id #4 //3
Object id #3 //5
Fatal error: Call to undefined method DataBase::Execute() in class/DataBase.class.php on line 32 //6
zmienna $AdoDbLiteInstance jest zmienna statyczna i stale odwoluje sie do niej przez self:: - nie wiem dlaczego wiec raz jest to object4 a raz object3. Ma ktos jakis pomysl?
