Josh
Legendäres Mitglied
hi alle.
für eine app benötige ich statische klassen. klar, man kann einfach
ClassName::functionName($xy)
aufrufen, sodass man keine instanz erzeugen muss, aber leider kann man so der klasse auch keine dauerhaften variablen assignen:
ClassName::attributeName = "xxx";
bricht mit einem Fehler ab, und
ClassName::setAttributeName("xxx"
funktioniert zwar zum schein, aber die variable geht einfach im nichts verloren.
ich habe nun eine lösung gefunden, indem ich die globale variable $GLOBALS verwende. klar wird jetzt jeder schreien, man soll keine globalen variablen verwenden, aber ich denke mal, ich habe doch ein recht affensicheres system erfunden.
wenn jemand daran interessiert ist, dann kann ich die klasse veröffentlichen; es ist eine klasse, welche abgeleitet werden sollte. also kann man sie mit allen möglichen funktionen ergänzen, aber sie bleibt statisch (kann nicht per new erzeugt werden).
hat sonst mal jm hier erfahrungen mit statischen klassen in php gemacht? ich weiss, dass php5 da meilen weitergekommen ist, aber solange ich scripts übers internet verbreite und php5 noch lange nicht auf jedem server vorhanden ist, muss ich wohl oder übel auf meine lösung zurückgreifen.
gruss
j0sh
für eine app benötige ich statische klassen. klar, man kann einfach
ClassName::functionName($xy)
aufrufen, sodass man keine instanz erzeugen muss, aber leider kann man so der klasse auch keine dauerhaften variablen assignen:
ClassName::attributeName = "xxx";
bricht mit einem Fehler ab, und
ClassName::setAttributeName("xxx"
funktioniert zwar zum schein, aber die variable geht einfach im nichts verloren.
ich habe nun eine lösung gefunden, indem ich die globale variable $GLOBALS verwende. klar wird jetzt jeder schreien, man soll keine globalen variablen verwenden, aber ich denke mal, ich habe doch ein recht affensicheres system erfunden.
wenn jemand daran interessiert ist, dann kann ich die klasse veröffentlichen; es ist eine klasse, welche abgeleitet werden sollte. also kann man sie mit allen möglichen funktionen ergänzen, aber sie bleibt statisch (kann nicht per new erzeugt werden).
hat sonst mal jm hier erfahrungen mit statischen klassen in php gemacht? ich weiss, dass php5 da meilen weitergekommen ist, aber solange ich scripts übers internet verbreite und php5 noch lange nicht auf jedem server vorhanden ist, muss ich wohl oder übel auf meine lösung zurückgreifen.
gruss
j0sh