Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Parametry metod - przekazywanie
Speedy
post
Post #1





Grupa: Zarejestrowani
Postów: 651
Pomógł: 28
Dołączył: 4.12.2004

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


Hej.

Wiem, że tego typu tematy już się pojawiały, ale większość z nich jest pozamykanych, a wiele wypowiedzi, które w nich się znajdują mają charakter głównie teoretyczny i chyba nie ma w nich informacji, o którą mi chodzi smile.gif.

Mam następującą sytuację:

Przykładowy adres:

www.strona.com/index.php/modul/metoda/parametr1/parametr2

W tym przypadku jest ładowana klasa modul (jest ona odpowiedzialna za uruchamianie odpowiednich metod, które pobierają dane z modeli). Jest też uruchamiana metoda o nazwie metoda, a jej parametry, to: parametr1 i parametr2.

Dynamiczne załadowanie klasy i uruchomienie metody, to żaden problem. Sprawa dotyczy parametrów metody. W omawianej aplikacji jest zwracana tablica z parametrami aktualnej metody.

Dla powyższego przykładu będzie ona wyglądać następująco:

  1. <?php
  2. $parameters = array('parametr1','parametr2');
  3. ?>


Te parametry muszę wstawić do bieżącej metody. Każda z metod może mieć zmienną liczbę parametrów i różne typy parametrów.

Można nie ruszać tablicy z parametrami i zrobić w następujący sposób:

  1. <?php
  2.  
  3. class modul
  4. {
  5.  
  6. public function metoda($tablica)
  7. {
  8. print $tablica[0];
  9. print $tablica[1];
  10. }
  11.  
  12. }
  13.  
  14. ?>


W takim przypadku w każdym module każda metoda będzie musiała mieć jeden parametr będący tablicą.
Nie bardzo mi się to podoba...
Chciałbym, żeby każda metoda w każdym module mogła mieć dowolną liczbę różnych parametrów.

Widziałem taki numer we frameworku CodeIgniter, ale nie przeglądałem go zbyt dogłębnie (jedynie powierzchownie) i nie wiem, gdzie dokładnie jest zawarty kod, który robi to, o co mi chodzi.
Mam na myśli następujący wpis w user guide do tego frameworka:
http://codeigniter.com/user_guide/general/...html#passinguri

Być może ktoś z Was wie, jak to sensownie rozwiązać lub może nakierować mnie na miejsce w CodeIgniterze, gdzie odbywa się interesujący mnie proces.
Jestem też ciekaw, jakie Wy stosujecie praktyki związane z przekazywaniem parametrów metod.

Pozdrawiam smile.gif.

Ten post edytował Speedy 20.06.2007, 23:09:21


--------------------
Sygnatura niezgodna z regulaminem.
Go to the top of the page
+Quote Post

Posty w temacie


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: 19.08.2025 - 05:33