Nunca vi um código como este: public static function getInstance() { if ( ! isset(self::$_instance)) { self::$_instance = new self(); } return self::$_instance; } É o mesmo que new className()? EDITAR Se a classe for hereditária, para qual classe ela