Victor Golovko: ваша ошибка в том, что вы воспринимаете stdClass как полноценный класс, коим он не является.
воспринимайте его как структуру данных, которую либо можно применять, либо нельзя, в зависимости от задачи и личных предпочтений.
PS до реализации array dereferencing stdClass дополнительно давал плюшки в синтаксисе, сейчас этого уже нет.
Victor Golovko: в любом классе публичные свойства можно модифицировать, почему этот должен быть исключением?
и никаких преимуществ у него не должно быть бай дизайн. кроме того, что он описан в ядре и нет необходимости описывать класс самому, когда нужна пустышка/заглушка.
Victor Golovko: > Они же создаются динамически, и я не знаю что в них есть, будет или было.
в массиве они тоже создаются динамически, например, при json_decode, но это же не трагедия?
stdClass - пустой класс, у которого изначально нет ни методов (вообще), ни свойств (можно создать динамически).
если у вас уже есть класс, то зачем мы сейчас вообще трем за std?