![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 16.11.2012 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Witajcie ponownie!
Tym razem, w ramach rozbudowy firmowego bloga, chcielibyśmy podzielić się bardzo prostą, ale równie użyteczną klasą pozwalającą na wygodną obsługę parametrów funkcji, które zanadto się "rozrosły". Przykładowo, przypuśćmy że mamy taką oto funkcję/metodę:
Aby ją wywołać, zamierzając zmienić np. tylko jeden domyślny parametr timeout, musimy przebrnąć przez wszystkie parametry:
Prosiłoby się użycie rozwiązania znanego z JavaScript, gdzie wystarczy przekazać jako jedyny parametr odpowiedni obiekt. Z pomocą przychodzi nasz klasa Params. Dzięki niej wywołanie ma postać:
Więcej o klasie i jej użyciu tutaj: http://www.implico.pl/klasa_params_wygodna...od_w_php,8.html P.S. Jeśli istnieje już podobne, być może lepsze rozwiązanie - dajcie znać. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat @nosporku, sama konstrukcja i pojęcie "funkcji" w programowaniu z założenia może mieć obowiązkowe lub opcjonalne parametry, więc wypadałoby to uwzględnić. Tak, tylko że ja nie widzę sensu tego uwzględniania (IMG:style_emoticons/default/smile.gif) Ale jak już chcesz uwględniać rób to dobrze. Nie możesz uwazac, ze dajac null w default to oznacza ze jest to parametr wymagany. A co jesli nie jest to parametr wymagany? jak bedzie to ok, jak nie bedzie to ok? Jak mam to zapisać? Dajac 0 zamiast null? No ale 0 moze byc wartoscią a nie oznaczeniem, ze parametr nie jest wymagany. Dlatego wlasnie pisze, ze trzeba dopisac jeszcze $required (IMG:style_emoticons/default/smile.gif) Cytat Zaproponowane przez Ciebie rozwiązanie w ogole nie obsługuje parametrow wymaganych Jak juz pisalem: wystarczy dopisac parametr $required. Ja tego nie zrobilem, bo uwazam to za totalnie zbędne.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Tak, tylko że ja nie widzę sensu tego uwzględniania (IMG:style_emoticons/default/smile.gif) Ale jak już chcesz uwględniać rób to dobrze. Nie możesz uwazac, ze dajac null w default to oznacza ze jest to parametr wymagany. A co jesli nie jest to parametr wymagany? jak bedzie to ok, jak nie bedzie to ok? Jak mam to zapisać? Dajac 0 zamiast null? No ale 0 moze byc wartoscią a nie oznaczeniem, ze parametr nie jest wymagany. Dlatego wlasnie pisze, ze trzeba dopisac jeszcze $required (IMG:style_emoticons/default/smile.gif) Tak, ale to już zresztą zaznaczyłem: Cytat(pyro) // problem może być dla funkcji w której wartość domyślna ma być NULL, ale na to też jest rozwiązanie. Można przypisać $default jakąś konfiguracyjną daną i potem po niej sprawdzać albo jak już wspomniałeś, dodać parametr $isRequired. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 20:56 |