dedlfix: Gültigkeit von Funktionen

Beitrag lesen

echo $begrüßung;

function blablabla() {
  $test->irgendwas(asldgjaslkdjglksjdlgjl);
}
wieso geht das nich?

Der Geltungsbereich von Variablen (Variable scope) gilt natürlich auch für Methoden von Klassen.

Schon mal mit global $test; versucht (Lesetipp) oder die Instanzvariable als Parameter übergeben?

global ist keine besonders schöne Lösung. Bessere Lösungen sind

  • die Übergabe als Parameter, direkt beim Aufruf der Funktion,
  • wenn die Funktion eine Methode einer Klasse ist, die Übergabe von $test beim Konstruktor-Aufruf oder anderer passender Gelegenheit und ablegen in einer Eigenschaft,
  • Instanz per Singleton-Pattern holen, wenn es nur genau ein Objekt der Klasse geben darf.

echo "$verabschiedung $name";