Autor Zpráva
kuba123
Profil *
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
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
kuba123:
Doporučil bych řešení, které používá Facebook. V komentáři jsou i popsané jiné způsoby řešení, které nedoporučují.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: