![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 190 Pomógł: 27 Dołączył: 23.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
W programie napisanym w jakimś języku programowania, utworzony obiekt istnieje dopóki nie zostanie zniszczony. W php zmienne, obiekt istnieje dopóki skrypt nie zakończy działania albo nie zostanie zniszczony. To jest problem, który nie do końca mogę zrozumieć, abo inaczej sposób jego rozwiązania. Weźmy pierwszy lepszy przykład, przy którym ten problem dla mnie znowu się uwidocznił. Zastosowanie wzorca registry. Przypomniałem sobie ten wzorzec z artykułu http://www.strefaphp.net/artykul59.html
Załóżmy, że w pliku głównym index.php, zaraz po wystartowaniu aplikacji, wczytywana jest konfiguracja systemu:
dzięki czemu mamy łatwy dostęp do konfiguracji:
Następnie tworzone jest menu, etc. Użytkownik wybiera jakąś opcje z menu, kontroler oddaje działanie do modelu, a wyniki zwracane są do widoku. Sedno sprawy: Jak sprawić, żeby w każdym skrypcie (przecież model jest w innym skrypcie, widok w innym), te dane były dostępne? Żeby w każdym skrypcie nie trzeba było tworzyć instancji obiektu Registry i nie ładować do niego danych? Każdą inną klasę, która będzie korzystać z obiektu Registry tak projektować, żeby jako parametr konstruktora mogła przyjmować obiekt Registry? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 493 Pomógł: 0 Dołączył: 14.06.2003 Skąd: Tomaszów Lubelski/Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
Registry jest klasą złozonych z samych static, tak wiec nie tworzysz w ogole instancji tej klasy (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Z kazdego miejsca w skrypcie ona jest dosepna Registry::Funkcja() (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 190 Pomógł: 27 Dołączył: 23.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
Registry jest klasą złozonych z samych static, tak wiec nie tworzysz w ogole instancji tej klasy (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Z kazdego miejsca w skrypcie ona jest dosepna Registry::Funkcja() (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Nie wiedziałem. Oblookałem przykład na http://www.strefaphp.net/artykul59.html i chyba tam jest błąd. Nie powinno być static $aVars ? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 2.10.2025 - 23:16 |