Почему можно вызвать статически нестатический метод?
Случайно пропустил ошибку, вызвал статически нестатический метод. Локально сработало, на продакшене заругалось.
Понятно что так делать не надо, но инфы по данному вопросу не нашел.
Это устаревшие "возможности" языка? Ругается при E_STRICT. Почему не ругается при E_ALL, типа иногда можно?
php 5.6
Если повторить это на php7 то будет следующее сообщение: Deprecated: Non-static method A::method() should not be called statically. Раз депрекейтед то в скором времени такой финт будет недоступен. Вообще да, это "устаревшие" возможности языка
php version 5.0++: вызов нестатического метода статически вызовет ошибку уровля E_STRICT.
php version < 5.4: E_STRICT не входит в E_ALL.
php version = 5.4++: E_STRICT стал частью E_ALL.