Dies ist eine alte Version des Dokuments!
Die Sichtbarkeit einer Eigenschaft oder Methode kann definiert werden, indem man der Deklaration eines der Schlüsselwörter public, protected oder private. voranstellt. Auf public deklarierte Elemente kann von überall her zugegriffen werden. Protected beschränkt den Zugang auf Elternklassen und abgeleitete Klassen (sowie die Klasse, die das Element definiert). Private grenzt die Sichtbarkeit einzig auf die Klasse ein, die das Element definiert.
Beispiel:
class test { public $pub; // kann ausgelesen und geändert werden private $priv; // kann weder ausgelesen noch verändert werden protected $pro; // kann weder ausgelesen noch verändert werden public function __construct( $a, $b, $c ) { $this->pub = $a; $this->priv = $b; $this->pro = $c; } } $obj = new test( "A", "B", "C" ); foreach( $obj as $key=>$val ) echo "<p>$key: $val</p>"; // es wird ausschließlich "pub: A" ausgegeben. $obj->pub = 1; // funktioniert fehlerfrei $obj->priv = 2; // Fatal error: Cannot access private property test::$priv $obj->pro = 3; // Fatal error: Cannot access protected property test::$pro