Mam w swoim systemie dajmy na to 5 dużych klas bazowych bez których żadna inna pomniejsza klasa nie może działać (np. dbase, log, settings,...). No i teraz dajmy na to, że tworzę nową, małą klasę - formularz. Obiektów tej klasy będzie dużo bo dużo zazwyczaj jest formularzy na stronce. No i co za tym teraz idzie - przy każdym utworzeniu obiektu formularz musze podawać w konstruktorze 5 klas głównych:
<?php $form1 = new formularz($dbase, $log, $settings, $language, $session); ?>
O wiele lepsze byłoby podanie w konstruktorze klasy formularz globalsów:
<?php class formularz() { __comnstruct() { $this->dbase = $dbase; (..) /itd. } } //No i dzięki takiemu rozwiązaniu zamiast... $form1 = new formularz($dbase, $log, $settings, $language, $session); //mogę napisać poprostu... $form1 = new formularz(); ?>
W tym momencie kod raczej zyskuje niewiele tracąc. Globalsy nie mogą być aż takie złe.