| 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: 13 let
|
|||
0