В PHP есть такие магические методы как __get() и __set(), они срабатывают тогда, когда мы обращаемся к несуществующему свойству (или устанавливаем его в случае __set()).
Но блин, если эти свойства не выставить, то если у нас есть допустим класс:
class Auto {
public $window;
}
$mitsubishi = new Auto();
$mitsubishi->windows = 10;
В этом случае, у объекта Mitshubishi будут и свойство window, и свойство windows. То есть пхп не помогает в том плане, что была опечатка. По моему другие языки просто бьют по рукам даже если обращаемся к несуществующему свойству, не говоря о том что задаем его.
Поэтому хочу спросить, какая логика в том, что пхп нам не говорит прямо, мол "Фатал эррор: обращение к несуществующему свойству *название свойства*" ?