Załóżmy że w wielu klasach odczytywana jest tablica z pliku np.
$config = Config::read('plik.php');
class Config { private function __construct(){} private function __clone(){} /** * Odczytuje parametry pliku konfiguracyjnego * */ { { return null; } { return self::$opt[$var]; } { //pr($names); $var = $names[0]; //pr($var); { case 2: { return (string)self::$opt[$var][$names[1]]; } break; case 3: { return self::$opt[$var][$names[1]][$names[2]]; } break; }// end switch }// end strops return null; }// end function read /** * Ładuje plik konfiguracyjny * */ { }// end function load /** * Zwraca całą tablicę pliku konfiguracyjnego * */ { { include self::$file; } else { return null; } { self::$opt = $config; return self::$opt; } else { return null; } }// end function getAll } // end class Config
Jednak za każym razem gdy wywołam
$config = Config::read('plik.php');
Plik jest wczytywany od nowa. Nie mogę użyć include_once ponieważ wtedy będzie odczytany tylko 1 plik konfiguracyjny i to zablokuje odczyt drugiego.