Чем отличаются self::, parent:: и static:: в PHP? С self и parent вроде понятно, но зачем нужен static::? И что такое позднее статическое связывание?

21 Авг 2019 в 06:59
154 +1
0
Ответы
1

В PHP оператор self:: используется для обращения к статическим элементам класса, например статическим свойствам или методам. Он ссылается на текущий класс, в котором используется, и не может быть переопределен в дочерних классах.

Оператор parent:: используется для обращения к элементам родительского класса. Он полезен, когда необходимо вызвать метод или обратиться к свойству из родительского класса.

Оператор static:: применяется для обращения к статическим элементам класса, но с функциональностью позднего статического связывания. Это означает, что при вызове метода или обращении к свойству через static:: в дочернем классе, будет использоваться соответствующий элемент из этого дочернего класса. Это удобно, когда требуется использовать переопределенные методы или свойства из дочернего класса.

Позднее статическое связывание - это механизм, позволяющий обращаться к статическим методам или свойствам классов из контекста объекта, используя оператор static:: вместо self:: или parent::. Это позволяет динамически определить, какой именно класс должен использоваться для статического вызова в зависимости от того, из какого класса производится вызов.

20 Апр в 13:10
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 541 автору
Первые отклики появятся уже в течение 10 минут
Прямой эфир