Встречается на собеседованиях • сегодня

Что такое позднее статическое связывание в PHP

Позднее статическое связывание (Late Static Binding) в PHP позволяет вызывать статические методы и свойства класса с учетом контекста выполнения, а не только объявления.

Ключевое слово static используется вместо self, чтобы обращаться к классу, который был вызван в рантайме, а не к тому, где метод объявлен.

Пример:

php
class A {
    public static function who() {
        echo __CLASS__;
    }
    public static function test() {
        static::who(); // Позднее связывание
    }
}

class B extends A {
    public static function who() {
        echo __CLASS__;
    }
}

B::test(); // Выведет "B" (а не "A" как было бы с self)

Используется для:

  • Переопределения статических методов в наследниках
  • Реализации паттернов типа Singleton с наследованием
  • Гибкости при работе с иерархией классов
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы