Christian Kruse: (Meinung) Klasseninstanz in Template

Beitrag lesen

Moin mrjerk,

Soweit ich weiss, ist das auch "schöner" Programmierstil (ich meine mich zu erinnern, dass es in Java auch ein paar unangenehme Absonderlichkeiten gibt, wenn man z.b. Instanzvariablen mit primitive Datentypen von aussen direkt, also ohne Zugriff mittels Setters, ändert).
Eine technisch fundierte Begründung kann ich aber leider nicht liefern :)

Naja, das zu hinterfragen kann nicht schaden. Der Grund, warum man Getter– und Setter–Methoden eingeführt hat, ist Kapselung gewesen: die Freiheit, Attribute nach aussen hin anders zu präsentieren als sie innen vorliegen oder auch den Code ändern zu können, ohne dass man jeden Aufruf ändern muss.

Das ist aber bei einer dynamischen Sprache wie PHP kein Problem mehr, da man hier mit den magic getters und setters auch „normale“ Wertzuweisungen kapseln kann. Es gibt also keinen wirklichen Grund mehr, tatsächlich überall Getter und Setter zu verwenden. Das erhöht nur die Menge des Codes und damit auch die Komplexität.

LG,
 CK