In PHP gibt es drei Sichtbarkeits-Schlüsselwörter für Eigenschaften und Methoden, die bestimmen, wo auf diese Elemente zugegriffen werden kann. Sie sind als public
, private
und protected
bekannt. Das Schlüsselwort internal
ist kein gültiges Sichtbarkeits-Schlüsselwort in PHP, es wird hauptsächlich in anderen Programmiersprachen wie C# oder Java verwendet.
Wenn eine Eigenschaft oder Methode als public
deklariert wird, kann sie von überall her, auch außerhalb der Klasse, aufgerufen werden. Beispielsweise:
class MyClass {
public $myPublicProperty = 'Ich bin öffentlich!';
public function myPublicMethod() {
return 'Ich bin eine öffentliche Methode!';
}
}
Eine als private
deklarierte Eigenschaft oder Methode kann nur innerhalb der Klasse aufgerufen werden, in der sie deklariert wurde. Sie ist nicht von außerhalb der Klasse oder von einer abgeleiteten Klasse aus erreichbar. Zum Beispiel:
class MyClass {
private $myPrivateProperty = 'Ich bin privat!';
private function myPrivateMethod() {
return 'Ich bin eine private Methode!';
}
}
Eine protected
Eigenschaft oder Methode kann innerhalb der Klasse und durch abgeleitete Klassen aufgerufen werden. Sie ist nicht von außerhalb des Klassenkontexts direkt erreichbar. Hier ist ein Beispiel:
class MyClass {
protected $myProtectedProperty = 'Ich bin geschützt!';
protected function myProtectedMethod() {
return 'Ich bin eine geschützte Methode!';
}
}
Um guten Code-Stil und -Strukturierung in PHP zu gewährleisten, ist es empfehlenswert, den Sichtbarkeitsumfang von Klassen, Eigenschaften und Methoden so eingeschränkt wie möglich zu halten. So wird das Prinzip der Datenkapselung optimiert und die Wahrscheinlichkeit unerwünschter Seiteneffekte durch den Zugriff auf diese Elemente verringert. Im Allgemeinen bedeutet dies, dass private
und protected
vorzuziehen sind, wenn möglich, und public
nur dann verwendet wird, wenn es notwendig ist.