Problem mit Klassen und protected...

S

silentx

Aktives Mitglied
Thread Starter
Dabei seit
30.08.2011
Beiträge
375
Reaktionspunkte
16
Hallo zusammen

Ausgangslage
PHP:
class test 
{
   protected $_objekt;
}

class subtest extends test
{
   public function __construct() 
   {
      $this->_objekt = "123";
   }
}

class useclass
{
    public function show() 
    {
      $tst = new subtest();
      echo $tst->_objekt."<hr>"; // Funktioniert, aber warum?
    }
}

Jemand eine Idee, warum dies zu keinem Fehler führt? Es sieht so aus, als würde die Visibility der variable von protected auf public geändert werden?
 
Das ist normal und beabsichtigt, da subtest eine Unterklasse von test ist. Siehe auch hier. Damit das nicht mehr funktioniert musst du ein Immutable Pattern umsetzen (Attribute private und dann setter und getter).
 
Zurück
Oben Unten