Autor Zpráva
MelkorNemesis
Profil
Dobry den, mam maly problem s volanim staticke funkce getInstance().

Kod:
$filter::getInstance()->applyRule($this->_input)


dejme tomu ze v $filter je "Juno_Filter_Perex", takze bych potreboval, aby to melo tento efekt:

Juno_Filter_Perex::getInstance()->applyRule($this->_input)
..

ale dostanu chybu

Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM in /Users/melkornemesis/Sites/xx/xx/xx/xx/xx.php on line 18


protoze takto nemuzu pouzit operator ::

Zna nekdo nejake reseni, jak to obejit?

Diky za Vas cas
Lamicz
Profil
Napadá mě eval, ale spíše bych přehodnotil OOP návrh a ty filtry dal do jedné malé třídy, kterou bych získal přes getInstance() a ta by sloužila jako factory a podle parametru volala přislušné třídy - return new ...
Zkrátka nějak takhle, bylo by to IMHO i přehlednější ;)
Majkl578
Profil
urcite spatny OOP navrh

jinak toto funguje od 5.3, viz zde

jak toto obejit?

$obj = call_user_func(array($filter, 'getInstance'));
$obj->applyRule($this->_input);

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: