alestro
@alestro

Срабатывает статический вызов не статического метода, как так?

Есть не статические методы - test1 и test2
При их статическом вызове они отрабатывают как статические, в чем подвох?
class Test {
	
	public function test(){
		echo 'ты меня видишь';
	}
	public function test2(){
		echo 12;
	}
}

$d = Test::test1(); // выводит: ты меня видишь
$a = Test::test2(); // выводит: 12
  • Вопрос задан
  • 209 просмотров
Решения вопроса 1
@shagguboy
в php 7 пофиксили. до этого это был BC BREAK
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
thelongrunsmoke
@thelongrunsmoke
Программист
Это PHP.
Ответ написан
Комментировать
@MadridianFox
Web-программист, многостаночник
Метод не использует данных объекта, так что ничего не мешает ему быть вызванным статически. Если бы внутри было обращение к полю через $this, то выскочила бы ошибка.
И да - это PHP...
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы