Instancia objektu s argumentami v poli – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Instancia objektu s argumentami v poli – PHP – Fórum – Programujte.comInstancia objektu s argumentami v poli – PHP – Fórum – Programujte.com

 

marioff0
Expert
24. 3. 2011   #1
-
0
-

Caute,

mam k dispozicii nazov triedy a argumenty (pre konstruktor) v poli, ktorych moze byt vzdy rozny pocet. Potreboval by teraz vytvorit novu instanciu.
Momentalne to mam takto:

$instancia = new $nazov_objektu($argument[0],$argument[1],$argument[2],$argument[3],.........)


co vsak asi nie je dobre riesenie, ak bude konstruktor preberat argumenty napr. pomocou func_get_args(). Triedy nebudu moje, cize nedokazem ovplyvnit ako bude konstruktor preberat argumenty.

V manuali som nasiel ReflectionClass ktora sa sice da velmi lahko na tento ucel pouzit, ale v roznych clankoch som nasiel ze je udajne velmi pomala.

$r = new ReflectionClass($d);

$this->inst[$d] = $r->newInstanceArgs($a);


Neriesil niekto nieco podobne, alebo nema niekto napad ako z pola priradim spravny pocet argumentov?

Nahlásit jako SPAM
IP: 195.78.44.–
Škoda, že život sa nedá "sejvovať", tak že by som po zlom životnom rozhodnutí mohol začať odznova :([br] Lenivosť je matka pokroku.[br][br] http://cut.sk/ - odstrihni si dlhý link
hrach
~ Redaktor
+1
Boss
12. 4. 2011   #2
-
0
-

To je jednoduchý, argumenty nepředávej v konstruktoru ale až další metodou a přes call_user_func_array

$obj = new Obj;

call_user_func_array(array($obj, 'setArgs'), $args));

Nahlásit jako SPAM
IP: 88.101.68.–
http://jan.skrasek.com@hrachcz – webdeveloper
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 7 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý