Почему можно вызвать статически нестатический метод?

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

Войдите, чтобы написать ответ

Похожие вопросы