Autor | Zpráva | ||
---|---|---|---|
kuba123 Profil * |
#1 · Zasláno: 15. 6. 2013, 13:26:41 · Upravil/a: kuba123
Dejme tomu, že mám volám metodu CacheQuery. Potřebuju k tomu určitý počet argumentů.
$tmp = New CacheQuery("SELECT gender, count(*) as c FROM ".C_MYSQL_MEMBERS_MAIN." WHERE status > '6' group by gender order by c desc",IsCache(1,64)); Ale rozhodl jsem se že tuto metodu chci přemístit do třídy na které momentálně pracuju a volat ji takto: $data = $results->SQL("SELECT gender, count(*) as c FROM ".C_MYSQL_MEMBERS_MAIN." WHERE status > '6' group by gender order by c desc",IsCache(1,64)) metoda SQL mi má umožnit vrátit pouze určitou část toho objektu/výsledku z $tmp. No ale nevím, jakým způsobem to mám udělat, když chci předat ty argumenty. Vím, že jsou k dispozici funkce func_get_args, func_get_arg() a func_num_args() , ale nejsem si jistý jak tu metodu sestavit, když nevím kolik tam bude argumentů. Třeba se metoda SQL bude volat s více argumenty. public function SQL(){ $tmp = New CacheQuery("SELECT gender, count(*) as c FROM ".C_MYSQL_MEMBERS_MAIN." WHERE status > '6' group by gender order by c desc",IsCache(1,64)); } čily všechny argumenty z Function SQL() potřebuju předat do CacheQuery() |
||
Kajman Profil |
#2 · Zasláno: 15. 6. 2013, 23:25:05
Možná půjde něco jako
public function SQL() { $tmp = New CacheQuery(); call_user_func_array(array($tmp, '__construct'), func_get_args()); } |
||
Jan Tvrdík Profil |
#3 · Zasláno: 16. 6. 2013, 02:08:27
kuba123:
Doporučil bych řešení, které používá Facebook. V komentáři jsou i popsané jiné způsoby řešení, které nedoporučují. |
||
Časová prodleva: 11 let
|
0