Autor | Zpráva | ||
---|---|---|---|
dehtak Profil |
zdravim nejde definovat tridu funkci define
notrmalne to je takhle $trida = new Trida(); define ("TRIDA", new Trida()); To je asi blbost co ? Nebo jestli to nejde nejak jinak abych nemusel pouzivat global . Protoze kdyz mam nakou funkci treba: function funkce (){ global $trida; // tady musim pouzit ten global } |
||
tiso Profil |
#2 · Zasláno: 15. 2. 2009, 12:46:53
dehtak
function funkce ($trida){ //a tu $trida normalne pouzivam } |
||
dehtak Profil |
#3 · Zasláno: 15. 2. 2009, 12:53:28
„function funkce ($trida){“ jo to je taky moznost , ale dejme tomu ze tech trid mamk vic , a do tech zavorek potrebuju davat jiny veci nez zrovna tridy. Abych v tom nemnel gulas.
|
||
tiso Profil |
#4 · Zasláno: 15. 2. 2009, 12:59:36
dehtak - tak si rozmysli či to ideš programovať objektovo alebo procedurálne, nemiešaj jedno a druhé...
|
||
dehtak Profil |
#5 · Zasláno: 15. 2. 2009, 13:16:37
to je snad jedno jak to pisu ,ja se jen zeptal a ty mi hned nadavas .
|
||
AM_ Profil |
#6 · Zasláno: 15. 2. 2009, 13:17:45
dehtak
Lze to řešit přes statický člen, např. class myClass { static public $instance; public function echoahoj(){ echo "ahoj"; } ... } myClass::$instance = new myClass(); function bagr(){ myClass::$instance->echoahoj(); } Jak ale vidíš, je to mnohem větší hokej, než používat global definici na začátku každé funkce, kde třídu použiješ. Pomocí DEFINE se definují konstanty, a aby třída byla konstantou, to už je na mě trochu moc :) |
||
tiso Profil |
#7 · Zasláno: 15. 2. 2009, 13:46:54
dehtak - nadávam? Ja?
Ide o to že miešaš rôzne postupy programovania, a tak z toho vznikne guláš. |
||
AM_ Profil |
#8 · Zasláno: 15. 2. 2009, 18:26:38
tiso
Já bych ani v míchání objektového a procedurálního programování takový problém neviděl, ne všechno je nutné cpát do objektů a nevím, proč by z toho musel vznikat guláš. |
||
tiso Profil |
#9 · Zasláno: 15. 2. 2009, 19:04:59
AM_ - ide skôr o to, že vymýšľa...
dehtak - je jeden spôsob - serializovať objekt: ... define('NEJAKY_OBJEKT', serialize($nejaky_objekt)); function funkce (){ $nejaky_objekt=unserialize(NEJAKY_OBJEKT); } Ale nedoporučujem to používať, je to hrozné a pomalé riešenie. |
||
Časová prodleva: 16 let
|
0