Maxim Mironjuk
-
Dezember 19, 2025
Unveränderliche Objekte verändern grundlegend, wie zuverlässig sich PHP-Code verhält: Ein einmal konstruiertes Value Object kann später von keiner Stelle im Programm heimlich verändert werden, weil es schlicht keine Setter mehr gibt. Statt bestehende Instanzen zu mutieren, erzeugen with-Methoden bei jeder Änderung eine neue, vollständig initialisierte Kopie mit dem geänderten Wert. Dieser Beitrag zeigt an einem durchgehenden Money-Beispiel, wie readonly-Properties, with-Methoden und Named Constructors zusammenspielen, und warum Klonen mit anschließender Mutation bei readonly-Properties in PHP technisch gar nicht funktioniert.