PHP OO

G.P.

Legendäres Mitglied
ich kann zwar Code verstehen, aber da selber machen doch immer etwas anderes ist bin ich gerade dabei ein bisschen zu lernen
wink.gif


Mein Ziel ist eigentlich nur, die Variable var1 anzupassen ohne die Klasse extra zu initalisieren.

CODE
class TEST
{
private $var1;

function hallo()
{
 $this->var1 = "test"
}
}
TEST::hallo;



Mit diesem Code bekomme ich immer die Fehlermeldung
Fatal error: Using $this when not in object context

Hoffe jemand kann mir weiterhelfen
tongue.gif
 
schon eine weile nichts mehr direkt mit php gemacht, aber muß das nicht TEST->hallo(); heißen?
 
Steht doch alles da. $this kann nur benutzt werden, wenn es einen gültigen ObjectContext gibt.

Klartext: Wenn die Klasse nicht initialisiert ist, kann auf den Klassenmember nicht über den $this-Zeiger zugegriffen werden. Wie auch, der Member wurde ja aufgrund fehlender Klasseninitialisierung gar nicht initialisiert.
Du muss entweder die Klasse serialisieren, also dir ein Objekt erstellen, oder das ganze Konstrukt statisch aufbauen.
 
um die Klasse und die Unterfunktionen aufzurufen ist eine Initialisierung ja nicht zwingend notwendig.

Gibt es denn keine Möglichkeit die internen Variablen zu benutzen ohne die Klasse extra zu initalisieren?
 
QUOTE (G.P. @ Di 26.06.2012, 13:43) um die Klasse und die Unterfunktionen aufzurufen ist eine Initialisierung ja nicht zwingend notwendig. [...]

Nicht unbedingt, so weit wohl richtig. Nur dann muss die Methode aber public und static sein! Und es entbindet Dich nicht davon Klammern zu setzen.
 
Zurück
Oben