Melvin Cowznofski: $this-> und self:: in Klassen

Beitrag lesen

Hallo,

Ich habe folgende Beispielklasse gegeben:


class Testklasse

	{

		private function vorarbeit()
			{
				$result = 1+1;
				return $result;
			}

		public function testfunktion()
			{
				$zahl = $this -> vorarbeit();
				$ergebnis = $zahl+1;
				return $ergebnis;
			}

	}

Im ausführenden PHP Skript steht:


$test = new Testklasse;
echo $test -> testfunktion();

Das funktioniert wunderbar. Wenn ich jetzt in der Methode "testfunktion" aus dem $zahl = $this -> vorarbeit(); ein $zahl = self :: vorarbeit(); mache, dann funktioniert es auch. Und das verstehe ich nicht. self:: sollte doch nur bei statischen Funktionen funktionieren. Wieso klappt das auch hier ohne Fehlermeldung und ohne Warnung?

Vielleicht ist ja wer so nett und erklärt mir, wieso das in dem Fall mit $this und mit self klappt, ich stehe grade komplett auf der Leitung.

Mit lieben Grüßen

Melvin Cowznofski

--
Melvin Cowznofski What – me worry?