Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Obsługa wielu parametrów metod w PHP - użyteczna klasa Params, Bardzo prosta ale użyteczna klasa ułatwiająca życie programisty PHP.
implico
post
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ę:

  1. function load(address, async, useCache = false, debug = false, user = NULL, timeout = 0)
  2. {
  3. ...
  4. }


Aby ją wywołać, zamierzając zmienić np. tylko jeden domyślny parametr timeout, musimy przebrnąć przez wszystkie parametry:
  1. load('http://www.implico.pl/', true, false, false, NULL, 100);


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ć:
  1. load(new Params( array('address' => 'http://www.implico.pl/', 'async' => true, 'timeout' => 100) ));


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ć.
Go to the top of the page
+Quote Post

Posty w temacie
- implico   Obsługa wielu parametrów metod w PHP - użyteczna klasa Params   6.02.2013, 06:58:32
- - hind   w czym te rozwiązanie jest lepsze od ValueObject l...   6.02.2013, 07:34:50
- - implico   Sądzę że zgrabniej i szybciej jest zapisać konstru...   6.02.2013, 10:05:03
- - !*!   Takie coś też zapewni automatyczną zmianę parametr...   6.02.2013, 10:23:41
- - nospor   Ale co tu oceniać? Dwie metody na krzyz: set i get...   6.02.2013, 10:48:30
- - pyro   Moim zdaniem cudowanie na siłę. Poczytajcie o zasa...   6.02.2013, 11:58:50
- - nospor   @pyro bo ja nie zakładałem, że coś jest wymagane. ...   6.02.2013, 12:55:52
|- - pyro   Cytat(nospor @ 6.02.2013, 12:55:52 ) ...   6.02.2013, 13:07:50
- - implico   @*!*: takie coś wcale nie zapewni żadnej autom...   6.02.2013, 13:10:24
- - nospor   Cytat@nosporku, sama konstrukcja i pojęcie "f...   6.02.2013, 13:14:13
|- - pyro   Cytat(nospor @ 6.02.2013, 13:12:34 ) ...   6.02.2013, 13:16:08
- - implico   @pyro: Niestety, chyba nie do końca rozumiesz ideę...   6.02.2013, 13:17:56
- - pyro   Może gdzieś popełniłem błąd, bo nie jestem u siebi...   6.02.2013, 13:33:14
- - ano   Czemu nie po prostu: [PHP] pobierz, plaintext func...   6.02.2013, 18:02:19
- - viking   Poza tym można też po prostu http://php.net/manual...   6.02.2013, 18:33:05
- - mstraczkowski   Moim zdaniem już samo pisanie tak wieloparametrowy...   13.02.2013, 03:27:16
- - hind   @mstraczkowski: mówisz o pisaniu klasy, ale co w p...   13.02.2013, 08:46:16
|- - pyro   Cytat(hind @ 13.02.2013, 08:46:16 ) @...   13.02.2013, 08:56:17
- - hind   zawsze można potem użyć kilkunastu setterów, ale z...   13.02.2013, 10:17:33
|- - pyro   Cytat(hind @ 13.02.2013, 10:17:33 ) z...   15.02.2013, 09:40:29
- - mstraczkowski   Konstruktor nie służy do ustawiania nie wiadomo ja...   13.02.2013, 12:19:07
- - ano   ...Lub użyć wzorca stworzonego do rozwiązywania ta...   14.02.2013, 22:48:26


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 05:38