Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> problem z parametrami public static
zephyr7
post
Post #1





Grupa: Zarejestrowani
Postów: 71
Pomógł: 1
Dołączył: 3.11.2005

Ostrzeżenie: (0%)
-----


Próbuję napisać coś na wzór frameworka,
mam funkcję, która wywołuje:

$uri[0]::$uri[1](); //np. pages::view();

jak przekazywać dodatkowe parametry?

Jeśli mój url wygląda tak: pages/view/1/2

funkcja powinna wywołać:

$uri[0]::$uri[1]($uri[2],$uri[3]);

jak poradzić sobie ze zmienną liczbą parametrów?


Do głowy przychodzi mi tylko coś takiego:


$params="";
for ($q=2;$q<count($uri)-1;$q++){
$params.='$uri['.$q.'],';
}
//usuwa przecinek.... no comment....
$params=strip_tags(substr($params,0,-1));
eval ('$uri[0]::$uri[1]('.$params.');');


będę wdzięczny za bezlitosną krytykę i pomysły, jak można napisać to po ludzku....
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Podejść na rozwiązane tego problemu jest masę. Najwygodniejsza jest tablica. Potem kombinowanie z func_get_args. Co do NULL bądź innych wartości to zależne to od tego co funkcja robić ma. Ja chciałem tylko zwrócić Ci Crozin uwagę, że wbijanie tam refleksji pasuje jak pięść do oka (IMG:style_emoticons/default/winksmiley.jpg) Nie po to ten mechanizm wymyślono by kontrolował liczbę parametrów funkcji czy tego typu "manewry". Są prostsze rozwiązania tego problemu. Do problemu zmiennej liczby parametrów tak naprawdę tylko 2 sposoby są sensowym rozwiązaniami: func_***_arg(s) i tablice/obiekty. Przy czym to drugie jest elastyczniejsze, gdyż możemy jeszcze się bawić.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 25.12.2025 - 13:55