Autor | Zpráva | ||
---|---|---|---|
MelkorNemesis Profil |
#1 · Zasláno: 3. 8. 2009, 01:18:33 · Upravil/a: MelkorNemesis
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 |
#2 · Zasláno: 3. 8. 2009, 03:34:21
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 |
#3 · Zasláno: 3. 8. 2009, 03:38:24 · Upravil/a: Majkl578
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); |
||
Časová prodleva: 15 let
|
0