Schalter geschlossen ...

Zugriffsbeschränkungen

Andere OOP-Begriffe: Sichtbarkeit oder Datenkapselung

Schalterhalle

Das Wichtigste in Kürze

Übersichtstabelle Zugriffsmodifikatoren in PHP

Zugriff (sichtbar) von... public protected private
...gleicher Klasse ja ja ja
...vererbter Klasse ja ja nein
...einer anderen Klasse
oder generell von "aussen"
ja nein nein

Merke dir folgende zwei PHP-Spielregeln:

  1. Bei der Deklaration einer Eigenschaft musst du immer einen Zugriffsmodifikator notieren.
  2. Bei der Definition einer Methode muss hingegen nicht unbedingt ein Modifikator stehen.
    Eine Methode ohne Modifikator wird in PHP als public interpretiert.

Projektende: Kanalisieren von Beziehungen

Der Umgang mit Zugriffsbeschränkungen setzt bereits einen gewissen Überblick oder "Fernsicht" auf das Resultat bei der Programmierung eines Projekt voraus, was natürlich bei Einsteigern in die OOP nicht gegeben ist. Es ist ist jedoch nicht falsch, vorerst alle Methoden und Eigenschaften als "public" zu definieren. Deshalb mein Tipp:

  1. Deklariere zuerst alles mit public, bis dein Projekt lauffähig ist.
  2. Gehe deinen Code am Schluss nochmals durch und frage dich dann, welche Eigenschaften und Methoden wo gebraucht und aufgerufen werden können/müssen.
  3. Schränke am Schluss die Zugriffsmöglichkeiten möglichst ein.