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ę:
function load(address, async, useCache = false, debug = false, user = NULL, timeout = 0) { ... }
Aby ją wywołać, zamierzając zmienić np. tylko jeden domyślny parametr timeout, musimy przebrnąć przez wszystkie parametry:
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ć:
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ć.