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