Dopiero od dzisiaj w praktyce używam singletona, więc proszę o wyrozumiałość

Mam sobie takie klasy:
<?php class DB { public function __construct($db_user, $db_name, $db_pass, $db_host) {} { { $objInstance = new DB($db_user, $db_name, $db_pass, $db_host); } return( $objInstance ); } // itd. } ?>
i drugą przykładową
<?php class MyTestClass { public function Test() { $DB = DB::GetInstance(); $DB->Query('select itd'); } } ?>
i teraz mam taki problem, na początku skryptu dałem już $DB = DB::GetInstance(tutaj dane) i zastanawiam się czy moje rozwiązanie z domyślną wartością dla parametrów dla klasy DB jest poprawne.
Gdybym usunął te domyślne wartości pokazałoby błąd o właśnie tych wartościach.