Tom: PHP Klassenversteh problem

Beitrag lesen

Hello,

class foo
{
   var $test;
   function bar(){
      $this->test;
   }
}

Mit $this->test; wäre ja hier die Variable $test gemeint. Nun habe ich Klasse gefunden die so aussieht:

class foo
{
   function bar(){
      $this->test;
   }
}

Wie verstehe ich hier $this->test;?

Ist fehlerhaft (soeben ausgetestet). Bei error_reporting(E_ALL) gibt er eine Notiz aus, wenn man von der Klasse ein Objekt anlegt und die Funktion bar() aufruft.
Das Beispiel oben ist korrekt.

Was soll das denn auch bewirken?

$this->test;

ist eine unvollständige Anweisung. Es ist weder eine Ausgabeanweisung, noch eine Zuweisung noch eine Rechenoperation...  Der Parser nimmt daher an, dass auf $this->test als Datenquelle referenziert werden soll, was natürlich nicht geht (glücklicherweise), wenn es noch keine Instanz dieses (unbestimmten) Typs gibt.

Harzliche Grüße vom Berg
esst mehr http://www.harte-harzer.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau