Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про PHP: late static binding, lsb, static, inheritance, dynamic binding

Что такое поздняя статическая привязка (Late Static Binding)?

Этот вопрос проверяет знание концепции поздней статической привязки, которая используется в PHP для корректного обращения к статическим методам в контексте наследования.

Короткий ответ

Поздняя статическая привязка (LSB) в PHP позволяет методу правильно ссылаться на класс, который его вызвал, а не на класс, в котором метод был определен. Это решает проблему статической привязки, когда используется ключевое слово self, и позволяет методам вести себя корректно в контексте наследования.

Длинный ответ

Поздняя статическая привязка (Late Static Binding) была введена в PHP 5.3.0 и решает проблему, когда методы, использующие ключевое слово self, всегда ссылаются на класс, в котором они были определены, а не на класс, который вызвал метод. Используя ключевое слово static вместо self, можно обеспечить, чтобы статические методы правильно ссылались на класс, который их вызвал.

Пример:

class Animal {
    	public static function create() {
        	return new static();  // Использование static вместо self
    	}
}

class Dog extends Animal {}

$dog = Dog::create();  // Возвращает объект типа Dog

В этом примере метод create() возвращает объект правильного типа, используя позднюю статическую привязку.

Поздняя статическая привязка полезна для создания расширяемых классов, где статические методы могут работать с подклассами, сохраняя при этом правильную привязку к вызывающему классу.

  • Аватар

    PHP Guru

    Mikhail Savin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    3

  • Сложность:

    7

Навыки

  • PHP

    PHP

Ключевые слова

#late static binding

#lsb

#static

#inheritance

#dynamic binding

Подпишись на PHP Developer в телеграм

  • Аватар

    PHP Guru

    Mikhail Savin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.