"Drobna" edyta poprzedniego tematu (bo może nie każdemu chce się czytać winksmiley.jpg )

kwestia taka:

  1. <?php
  2. class pseudosingleton {
  3.    
  4.    private $instancje = array();
  5.  
  6.    function __construct() {
  7.        $GLOBALS['obi'] = $this
  8.    }
  9.  
  10.    //Warunki ladujace plik, klase i zmienne, zwracające odwołania do instancji i reszta...
  11. }
  12. ?>


W ten sposob, bo malym zabiegu w postaci frywolnej funkcji gdzieś poza klasą:

  1. <?php
  2. function QUICK() {
  3.    return $GLOBALS['obi'];
  4. }
  5. ?>


Można w dowolnym miejscu ('na zewnatrz', w innej funkcji, w klasie, etc..) korzystać z referencji do danej klasy bez konieczności ładowania jej jako $this->itd, czy global $x.. np.:

  1. <?php
  2. QUICK()->cos->gdzies();
  3.  
  4. class x {
  5.  
  6.    function jakasFunkcja() {
  7.        QUICK()->cos->cosInnego();
  8.    }
  9. }
  10. ?>


itd...

Moje pytanie brzmi - czy to bezpieczne !?
Po zrzucie tablicy $GLOBALS widać 'flaki' wszystkich stworzonych w ten sposob obiektow.
Jeśli więc ktoś doczepiłby moją stronę do swojej i wywołał var_dumpa (lub w inny sposób) - mógłby podejrzeć nazwy pól i tym samym dalszą strukturę obiektów położonych niżej. Jednak ten sposób jest niezmiernie wygodny - po dodatkowej zmienia "QUICK" na "Q" - odwoływanie się z dowolnego miejsca do dowolnego obiektu to czysta przyjemność. Jak więc zabezpieczyć się przed podejrzeniem pól w $GLOBALS ?