> Что такое late static binding в PHP (PHP)
Уровень: junior · Роль: backend · Язык: PHP · Категория: Технические вопросы
Компании: vanta
Стек: PHP
> Пример ответа
Late static binding (LSB) в PHP - это механизм, который позволяет вызывать статические методы и свойства в контексте класса, который был вызван во время выполнения, а не класса, в котором метод был определен. Он реализован с помощью ключевого слова static::, которое разрешается на этапе выполнения (runtime), в отличие от self::, которое привязывается к классу, где код написан.
Пример:
PHPclass ParentClass {public static function who() {echo __CLASS__;}public static function test() {self::who(); // Выведет "ParentClass"static::who(); // LSB: выведет класс, который вызвал метод}}class ChildClass extends ParentClass {public static function who() {echo __CLASS__;}}ChildClass::test(); // Вывод: ParentClassChildClass
Здесь self::who() всегда вызывает метод из ParentClass, а static::who() - из ChildClass, так как LSB определяет класс, с которого начался вызов. Это особенно полезно при реализации паттернов вроде Singleton или ActiveRecord, где нужно работать с унаследованными статическими методами.
> Похожие задачи по PHP
Какие минусы наследования
Для чего нужны генераторы в PHP
Как хранятся индексы в массивах PHP
Используете ли нативные SQL-запросы или ORM
> Похожие задачи по backend
Какие минусы наследования
Для чего нужны генераторы в PHP
Как хранятся индексы в массивах PHP
Используете ли нативные SQL-запросы или ORM
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью