Zalozmy ze klasa korzysta z wlasciwosci ktora jest tablica o ogromnych rozmiarach.
<?php class klasaPrzykladowa { protected $pojedynczaWartosc; public function __construct() { //ta tablica jest sporych rozmiarow } public function cosSieDzieje($x) { //w zaleznosci od $x cos sie dzieje //pojawia sie zmienna $y $this->pojedynczaWartosc = $this->duzaTablica[$y]; } } ?>
Zalozmy tez, ze w ciagu jednego wywolania strony generuje kilkadziesiat obiektow bedacych instancjami tej wlasnie klasy.
Czy kazdy obiekt tej klasy bedzie zawieral kopie tej duzej tablicy?
Czy wydzielenie tej tablicy na zewnatrz klasy pozwoli zaoszczedzic zasoby pamieci a jesli tak to czy Waszym zdaniem oplaca sie to przeprowadzic kosztem hermetyzacji.
<?php //ta tablica jest sporych rozmiarow class klasaPrzykladowa { protected $pojedynczaWartosc; public function cosSieDzieje($x) { //w zaleznosci od $x cos sie dzieje //pojawia sie zmienna $y $this->pojedynczaWartosc = $GLOBALS['duzaTablica'][$y]; } } ?>
Wiem ze przyklad jest mocno hipotetyczny ale chodzilo jedynie o zobrazowanie problemu, ktory mnie nurtuje.
edit
----------------------
Poprawiono załóżmy i zamieniono global na $GLOBALS