![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 168 Pomógł: 126 Dołączył: 5.02.2010 Skąd: Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Witam,
wiem, że za pomocą extract($array) jestem w stanie stworzyć zmienne, a więc takie coś jak poniżej mi zadziała.
Lecz jak zrobić to tak żeby zmienne z extract weszły mi pod public $array czyli otrzymałbym coś takiego
Najlepiej chciałbym mieć możliwość stworzenia czegoś na wzór powyższego z dynamicznym tworzeniem zmiennych, ale w klasie statycznej tj:
Teraz z innej klasy chciałbym mieć do tego dostęp tj:
Da się to jakoś zrobić? Wiem, że się trochę rozpisałem, ale mam nadzieję, że jest to w jakimś stopniu zrozumiałe. Pozdrawiam, Szymon |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Cytat Co do dependency injection mam zamiar się wziąć powoli i tak ogólnie za wzorce projektowe, aczkolwiek nie wiem kiedy znajdę chwilę na to, bo matura niedługo. Dependency Injection i inne podstawy OOP w 45 sekund:1. Obiekt w miarę możliwości nie powinien odwoływać się do niczego co pochodzi spoza jego samego, tj. żadnych zmiennych globalnych czy odwołania do innych klas (patrz: Config::getInstance() czy zapisanie nazw plików wewnątrz klasy). 2. Biorąc sobie do serca punkt pierwszy, musimy dojść do wniosku, że wszelkie zależności muszą być przekazane przez argumenty metod. 2.1. Jeżeli jakaś zależność jest niezbędna do działania obiektu, powinna być przekazana już w konstruktorze. 2.2. Jeżeli jakaś zależność jest opcjonalna można dla niej utworzyć osobnego settera. 3. Każdy obiekt zajmuje się jedną rzeczą (czyli taki obiekt Config nie bawi się już w rozpoznawanie czy pracuje w środowisku produkcyjnym czy deweloperskim). 4. Gdzie się tylko da unikamy static (tutaj nie ma żadnej przesłanki sugerującej konieczność skorzystania z tego). 5. Dbamy o obsługę błędów (metoda get() powinna rzucić wyjątek InvalidArgumentException w przypadku odwołania się do nieistniejącego klucza). Oczywiście nie są to jakieś nienaruszalne zasady, ale jeżeli je łamiesz musisz to robić świadomie i umieć sobie odpowiedzieć dlaczego warto je łamać. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 13.10.2025 - 06:45 |