dedlfix: Funktion aus einer Klasse in anderer Funktion aufrufen

Beitrag lesen

Hi!

Du könntest allerdings das Singleton-Pattern anwenden, da du deinem Code zufolge sowieso nur eine Instanz haben willst.

Dann müsste meine Funktion ja eigentlich so aussehen, wenn ich nichts falsch verstanden habe.
Das bringt mir allerding folgenden Fehler:
Fatal error: Using $this when not in object context on line 7

Wenn du eine Methode statisch aufrufst, existiert kein $this, da einfach keine Instanz existiert. Du hast nicht das Singleton-Pattern implementiert sondern nur statische Funktionsaufrufe verwendet. Statische Funktionsaufrufe sind dann einsetzbar, wenn daraus auf andere Elemente der Klasse ebenfalls nur statisch zugegriffen werden soll. Das Singleton-Pattern hingegen arbeitet sehr wohl mit einer Instanz und kann dann alle damit verbundenen Möglichkeiten nutzen, es schützt die Klasse jedoch so, dass nur eine einzige Instanz erzeugt werden kann. Diese verwaltet es intern und gibt sie bei Bedarf heraus.

Lo!