Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> {<|?|>} Wywoływanie klasy z argumentami..., ...z nieznaną ilością argumentów?...
ignition
post
Post #1





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 14.06.2004

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


Chciałbym wywołać klasę z nie określoną ilością argumentów (po przecinku:P), ale nie znalazłem żadnej funkcji, która by to zrobiła. Zrobiłem więc coś takiego:
  1. <?php
  2. $classValue = &#092;"lato, jesień, zima, wiosna\";
  3. $v = explode( ',', $classValue );
  4. $class = new jakasklasa( @$v[0], @$v[1], @$v[2], @$v[3], @$v[4], @$v[5], @$v[6], @$v[7], @$v[8], @$v[9] );
  5. ?>


...ale to ^ mi się za bardzo nie podoba. Czy da się to jakoś krócej zrobić??
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
matid
post
Post #2





Grupa: Zarejestrowani
Postów: 362
Pomógł: 0
Dołączył: 18.02.2004
Skąd: Knurów

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


Sam się kiedyś nad tym głowiłem i nawet wypisywałem pytania na forum. Najlepszym rozwiązaniem tego problemu jest tworzenie takich klas, które nie wymagają argumentów, a zamiast tego tworzenie metody, np. setup(), która daną instancję skonfiguruje.

Rozwiązaniem nieco mniej 'pięknym' jest taki kod:
  1. <?php
  2.  
  3. $classValue = 'lato, jesień, zima, wiosna';
  4. $arrValues = explode( ', ', $classValue );
  5. $strCommand = '$objClass = new NazwaKlasy( ';
  6. foreach( $arrValues as $strValue )
  7. {
  8. $strCommand .= ''' . $strValue . '', ';
  9. }
  10. $strCommand = substr( $strCommand, 0, -2 ) . ' );';
  11. eval( $strCommand );
  12. ?>


Ten post edytował matid 13.10.2004, 18:32:54
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: 3.10.2025 - 13:44