Всегда считал, что при попытке вызова не статической функции без создания экземпляра класса в PHP приложение должно отваливаться с ошибкой. Только что поспорил с коллегой на эту тему. Проверили:
calss A{
public function b(){
return 1;
}
}
echo A::b();
Код успешно вернул 1.
Подскажите, кто знает: как это работает? В чем тогда разница между статическим и не статическим методом? Или это очередная попытка PHP добавить "удобства" программисту и интерпритатор все равно признает метод статическим, если вызывать его как статический?