![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 359 Pomógł: 12 Dołączył: 16.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
Wiem, że stosowanie zmiennych globalnych w klasach nie jest zbyt dobrym pomysłem, ale kurczę po coś wymyślono te global i trzeba wykorzystać (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) . Niestety pojawiają się problemy, choć wcale nie chodzi o to że się w niej gubię. Mam plik konfiguracyjny:
CODE $db['host'] = "localhost"; $db['user'] = "root"; $db['pass'] = "root"; $db['base'] = "mngclass"; $db_config = new Registry($db); ?> W pliku testującym załączam wszystkie inne klasy itd, a w pliku z klasą GenericObject mam coś takiego:
Próba odpalenia kodu skutkuje czymś takim: Cytat Parse error: parse error, expecting `T_VARIABLE' in D:\servhost\Asmox toolkit\class_genericObject.php on line 11 Co się stało? Ten post edytował Asmox 6.05.2009, 16:53:36 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 592 Pomógł: 62 Dołączył: 3.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
yhy, to może jakoś tak:
- masz plik konfiguracyjny - tworzysz sobie klasę cConf, która odpowiada za ten plik konfiguracyjny (odczyt, zapis) - tworzysz obiekt klasy cConf, a potem za pośrednictwem jakiejś funkcji składowej odczytujesz dane z pliku i zapisujesz do wewnętrzych zmiennych (najlepiej private, tak aby nie dało się ich edytowac z zewnątrz) - i teraz: 1) inne klasy mogą od razu w parametrach funkcji składowych oczekiwać okreslonych danych (np. hasło do bazy) 2) inne klasy w parametrze funkcji składowej oczekują adresu obiektu klasy i dopiero potem odczytują sobie hasło do bazy rozwiązanie nr1 wydaje się najlepsze, ponieważ inne klasy nie muszą znać w ogóle klasy od pliku konfiguracyjnego, a także bezpieczniejsze, bo nie podajemy adresu obiektu żadnej innej funkcji Pozdrawiam |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.10.2025 - 00:07 |