Почему к статическому методу можно обратиться через $this?
Есть код
Class A {
public static function tableName() {
return 'AAA';
}
}
Class B extends A {
public static function tableName() {
return 'BBB';
}
public function test() {
echo $this::tableName();
}
}
$b = new B();
$b->test();
Почему в версиях < PHP5.3 вызывало ошибку
syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM, expecting ',' or ';' in [...][...] on line 18
То есть на строке $this::tableName()
А начиная с 5.3 ошибок нет и отрабатывает корректно? Вплоть до PHP7.4. Ведь это некорректная запись. Есть какой-то глубинный смысл теперь в этом?