Sto diventando matto per una cosa che in verità dovrebbe essere stupidissima...non riesco ad implementare un Singleton Pattern!
Ho cercato in tutti i forum possibili immaginabili e ho provato tutte le seoluzioni, ma ogni volta che richiamo per esempio il metodo statico getInstanze(), quest'ultimo trova la variabile di classe statica sempre a null anche se è stata istanziata precedentemente! Come è possibile?

Nel caso specifico ho una index.php così fatta:

Codice PHP:
<?php

session_start
();

try {

?>

<?php

include_once("config/Util.php");
include_once(
"config/Config.php");
include_once(
"fmwk/BaseServlet.php");
include_once(
"fmwk/HtmlUtil.php");

?>

<html>
    <head></head>
  <title>oCars</title>
  <body>

      <?php BaseServlet::getInstance()->initServlet(); ?>

  </body>
</html>

<?php

} catch (Exception $e) {
    
$_SESSION['errore'] = $e;
    require_once(
"front_end/common/globalException.php");
}

?>
e la classe baseServlet così fatta:

Codice PHP:
<?php

  
class BaseServlet {

    private static 
$appConfig null;
    private static 
$instance;

    private function 
__construct() {}

    public static function 
getInstance() {
           
println("classe :".self::$instance);
        if(!isset(
self::$instance)) {
           
println("INSTANZIO...");
            
$object__CLASS__;
            
self::$instance=new $object;
        } else 
println("NON INSTANZIO");

        return 
self::$instance;
    }

    function 
initServlet() {

        if (
self::$appConfig == null) {
               
println("parsing xml...");

                 
$appConfig simplexml_load_file('app-config.xml');

               
$config['initLang'] = (string)$appConfig->initLanguage['lang'];
               
$config['queryRepositoryPath'] = (string)$appConfig->queryRepository['path'];
               
$config['queryRepositoryName'] = (string)$appConfig->queryRepository['name'];
               
$config['dbName'] = (string)$appConfig->db['name'];
               
$config['dbHost'] = (string)$appConfig->db['host'];
               
$config['dbUser'] = (string)$appConfig->db['user'];
               
$config['dbPassword'] = (string)$appConfig->db['password'];
               
$config['frontEndPath'] = (string)$appConfig->front_end['path'];
               
$config['applicationResourcesPath'] = (string)$appConfig->applicationResources['path'];

               
$_SESSION['app-config'] = (array)$config;
               
$_SESSION['current-lang'] = (string)$config['initLang'];
          } else 
println("NO PARSING");

    }

  }


?>
Il metodo getInstance() mi istanzia sempre una nuova classe BaseServlet...perchè??
Facio presente che questo pattern mi serve anche per parsare una sola volta i file xml e anche in questo caso non mi funziona!