В РНР руководстве говорится, что Scope Resolution Operator(::) имеет следующую цельИспользование :: для нестатических методов?
The Scope Resolution Operator (also called Paamayim Nekudotayim) or in simpler terms, the double colon, is a token that allows access to static, constant, and overridden properties or methods of a class.
Теперь я просто наткнулся на учебник, который использовал двойное двоеточие, как это:
class A {
public function nice(){
echo "hi";
}
}
$A = new A;
A::nice();
и выход на самом деле
hi
Но почему это не вызывает ошибку? Функция nice
не является статическим методом и не отменяет метод. Неплохо ли использовать двойную двоеточие?
Это потому, что вы не включили отчеты об ошибках ([демо] (https://3v4l.org/5DVZI)). Я боюсь. –
Реакция также зависит от PHP-версии в PHP70: «Устаревший: нестатический метод foo :: bar() не следует называть статическим в' – JustOnUnderMillions
@ ÁlvaroGonzález. Я действительно нашел это в книге PHP Master с сайта. – Adam