Autor | Zpráva | ||
---|---|---|---|
Amunak Profil |
#1 · Zasláno: 14. 6. 2012, 09:47:18
V interface mám definováno několik konstant, ke kterým se snažím dostat pomocí statické metody:
public static function getConstant($const) { if(!defined(iconstants::$const)) { return null; } else { return iconstants::$const; } } A to nefunguje - očividně takhle k těm konstantám přistupovat nemohu. Existuje nějaká alternativa? Ta metoda s konstantami pak ještě dál pracuje, tohle je zkrácený příklad a sám o sobě by samozřejmě neměl smysl. Chyba vyleze už na řádku 3, a pak by vylezla určitě ještě na řádku 7. |
||
Tori Profil |
#2 · Zasláno: 14. 6. 2012, 10:21:09
return defined("iconstants::$const") ? constant("iconstants::$const") : null; |
||
Alphard Profil |
#3 · Zasláno: 14. 6. 2012, 10:28:25
|
||
Amunak Profil |
#4 · Zasláno: 14. 6. 2012, 10:46:19
Díky. Teď nastává dilema - který z těch přístupů je lepší? Záleží na tom vůbec? Použiju asi ten od Tori, přijde mi to snazší.
|
||
Alphard Profil |
#5 · Zasláno: 14. 6. 2012, 10:55:47
Amunak:
Použíjte, co se vám hodí. Já jsem to druhé řešení dodal také kvůli dalším metodám Reflection Class. Reflexe je důležitá, ale člověk se s ní setká až déle, často je použita ve frameworcích apod. Mé řešení vyžaduje vytvoření instance další třídy, bude zřejmě trochu pomalejší a zbytečně složitější. |
||
Časová prodleva: 12 let
|
0