Ho un dubbio sulla classe Singleton (... e té paréva! )

Per una singleton definisco tale constructor:
Codice PHP:
private function __construct() {
        if(
is_null($istanzaClasse)) {
            
$istanzaClasse = new Classe;
            
            
/* Impostazione proprietà */
            
            
$this->$HTTP_HOST $_SERVER['HTTP_HOST'];        // Nome dell'host su cui risiede il server
            
$this->$SERVER_NAME $_SERVER['SERVER_NAME'];
            
$this->$SERVER_OS = (strpos(strtoupper($_SERVER['SERVER_SOFTWARE']), "WIN32") === FALSE "LINUX" "WINDOWS");
            
        }
        return 
$istanzaClasse;
                
    } 
la classe ha poi una miriade di proprietà statiche:
Codice PHP:
public static $HTTP_HOST null;

public static 
$SERVER_OS null;
...
... 
Quando voglio sapere su che sistema operativo gira il webserver faccio
Codice PHP:
$OS Classe::$SERVER_OS
Non creando però mai direttamente un'istanza della classe non viene mai eseguito il costruttore.

Invece io vorrei richiamare il valore della proprietà e far sì che questo venga processato (tipo "capire che OS uso") e restituito in automatico quando richiamo la proprietà statica.

E' possibile (sempre non creando alcuna istanza ovviamente), oppure devo farmi una funzione apposita per inizializzare tutti i valori delle proprietà statiche della classe?

.... e aggiungo, nel secondo caso, la funzione può in qualche modo essere nella classe stessa?
Perché se creo una funzione di inizializzazione e uso 'this' mi dà errore (che non esiste alcuna istanza a cui fare riferimento)..


Grazie dei chiarimenti