Есть объект с данными, который необходимо чтобы был мутируемым, только через собственные методы.
И у этого объекта данных дофига. Зачем мне на каждое свойство писать отдельный геттер, когда можно просто обратиться к этому свойству?
Не всегда нужна именно именно иммутабельность. Иммутабельность на действительно здоровых объектах с здоровенным набором данных вылазит боком когда много клонирования этих объектов по типу ->with(...)
Исходя из твоей логики в пхп надо вообще публичные свойства с данными запретить ибо хреновая архитектура - данные же торчат наружу. А также во всех остальных ООП языках тоже запретить прицепом.
И у этого объекта данных дофига. Зачем мне на каждое свойство писать отдельный геттер, когда можно просто обратиться к этому свойству?
Не всегда нужна именно именно иммутабельность. Иммутабельность на действительно здоровых объектах с здоровенным набором данных вылазит боком когда много клонирования этих объектов по типу ->with(...)
Исходя из твоей логики в пхп надо вообще публичные свойства с данными запретить ибо хреновая архитектура - данные же торчат наружу. А также во всех остальных ООП языках тоже запретить прицепом.