Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Generowanie obiektów, ...automatycznie z dowolną ilością argumentów w konstruktorze
jastu
post 17.08.2007, 08:03:06
Post #1





Grupa: Zarejestrowani
Postów: 382
Pomógł: 0
Dołączył: 29.11.2005
Skąd: :jestem();

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


Witajcię,
napiszę kod który przedstawia to co chicałbym osiągnąć
  1. <?php
  2. // zmienna przechowująca obiekt
  3. $obj = null;
  4. // nazwa klasy obiektu
  5. $class = &apos;Nazwa_klasy&apos;;
  6. // argumenty dla konstruktora
  7. $args = array(12,true);
  8. // zwrócenie obiektu
  9. $obj = call_user_func_array($class,array_slice($args,0));
  10. ?>


Czy można w ten sposób zwrócić obiekt ?

Odpowiedź : napiszemy nową uniwersalną funkcję

  1. <?php
  2. // zwrócenie obiektu
  3. $obj = do_object($class,$args);
  4. ?>


Funkcja
  1. <?php
  2. function do_object($class,$args){
  3. $count = count($args);
  4. switch($count){
  5. case 0 :
  6. return new $class();
  7. break;
  8. case 1 :
  9. return new $class($args[0]);
  10. break;
  11. case 2 :
  12. retrurn new $class($args[0],$args[1]);
  13. break;
  14. // itd ... a tak chciałem skorzystać z funkcji wbudowanej ;)
  15. }
  16. ?>


Ten post edytował jastu 17.08.2007, 09:59:22


--------------------
Powyższy post wyraża jedynie opinię autora w dniu dzisiejszym. Nie może on służyć przeciwko niemu w dniu jutrzejszym. Ponadto autor zastrzega sobie prawo zmiany poglądów, bez podawania przyczyny.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
UDAT
post 17.08.2007, 12:06:55
Post #2





Grupa: Zarejestrowani
Postów: 442
Pomógł: 0
Dołączył: 27.12.2005

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


  1. <?php
  2. $rc = ReflectionClass($className);
  3. $object = $rc ->newInstanceArgs( $arrayOfParams );
  4. ?>
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 31.07.2025 - 09:52