Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
| Both sides previous revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
|
php:sichtbarkeit [2016/03/27 17:56] webproducer Sichtbarkeits-Tabelle hinzugefügt |
php:sichtbarkeit [2021/03/26 12:18] (aktuell) webproducer Fehler in der Beschreibung behoben |
||
|---|---|---|---|
| Zeile 4: | Zeile 4: | ||
| ^Sichtbarkeit^Zugriff aus eigener Klasse^Zugriff aus abgeleiteter Klasse^Zugriff außerhalb der Klasse^ | ^Sichtbarkeit^Zugriff aus eigener Klasse^Zugriff aus abgeleiteter Klasse^Zugriff außerhalb der Klasse^ | ||
| - | | protected | ja | nein | nein | | + | | private | ja | nein | nein | |
| - | | private | ja | ja | nein | | + | | protected | ja | ja | nein | |
| | public | ja | ja | ja | | | public | ja | ja | ja | | ||
| //Beispiel:// | //Beispiel:// | ||
| - | <code> | + | <code php> |
| class test | class test | ||
| { | { | ||
| - | public $pub; // kann ausgelesen und geändert werden | + | public $pub; // kann gelesen und geändert werden |
| - | private $priv; // kann weder ausgelesen noch verändert werden | + | private $priv; // kann weder gelesen noch verändert werden |
| - | protected $pro; // kann weder ausgelesen noch verändert werden | + | protected $pro; // kann weder gelesen noch verändert werden |
| public function __construct( $a, $b, $c ) | public function __construct( $a, $b, $c ) | ||
| { | { | ||
| - | $this->pub = $a; | + | $this->pub = $a; |
| - | $this->priv = $b; | + | $this->priv = $b; |
| - | $this->pro = $c; | + | $this->pro = $c; |
| } | } | ||
| } | } | ||
| Zeile 27: | Zeile 27: | ||
| foreach( $obj as $key=>$val ) | foreach( $obj as $key=>$val ) | ||
| - | echo "<p>$key: $val</p>"; // es wird ausschließlich "pub: A" ausgegeben. | + | { |
| + | echo "<p>$key: $val</p>"; // es wird ausschließlich "pub: A" ausgegeben. | ||
| + | } | ||
| - | $obj->pub = 1; // funktioniert fehlerfrei | + | $obj->pub = 1; // funktioniert fehlerfrei |
| - | $obj->priv = 2; // Fatal error: Cannot access private property test::$priv | + | $obj->priv = 2; // Fatal error: Cannot access private property test::$priv |
| - | $obj->pro = 3; // Fatal error: Cannot access protected property test::$pro | + | $obj->pro = 3; // Fatal error: Cannot access protected property test::$pro |
| </code> | </code> | ||