Что такое Dependency Injection, и как он используется в PHP-приложениях?
Dependency Injection (DI) является паттерном проектирования, который используется в PHP-приложениях для управления зависимостями компонентов. Обычно зависимости передаются в класс через конструктор или методы инициализации. DI позволяет лучше управлять зависимостями, делая приложение более понятным и удобным для тестирования.
#вопросы_с_собеседований
👍3🤓1
#вопросы_с_собеседований
Что такое абстрактный класс и чем он отличается от интерфейса?
Абстрактный класс - это класс, который не может быть создан напрямую, он служит лишь в качестве базового для других классов. У него могут быть свойства и методы, которые могут быть переопределены в наследуемом классе. Абстрактные классы могут быть использованы для реализации шаблонов проектирования и их использование повышает повторное использование кода.
Интерфейс - это способ специфицировать, каким образом объекты должны взаимодействовать друг с другом. Интерфейс состоит только из методов и констант, которые не имеют тела. Интерфейсы могут использоваться в качестве связующего звена между компонентами, которые не имеют ничего общего кроме своей общей функциональности, а также в качестве одного из способов решения проблемы множественного наследования в PHP.
Что такое абстрактный класс и чем он отличается от интерфейса?
Интерфейс - это способ специфицировать, каким образом объекты должны взаимодействовать друг
👍4❤1
#вопросы_с_собеседований
Что такое объектно-ориентированное программирование (ООП) в PHP?
ООП - это парадигма программирования, в которой программа строится на основе объектов, которые являются экземплярами классов. В PHP объекты и классы создаются с помощью ключевых слов «class», "object", «public», «protected» и «private».
Что такое объектно-ориентированное программирование (ООП) в PHP?
❤1🤯1
#вопросы_с_собеседований
Расскажите, чем static отличается от self?
Это классический вопрос на позднее статическое связывание, который задают как джунам (реже), так и синьорам.
Решение:
Механизм позднего статического связывания (Late Static Binding) нужен для того, чтобы достучаться до статических свойств (методов), или констант родительского класса в дочерних, даже если они уже переопределены.
Применить этот механизм можно, например, когда нужно вынести общую логику работы с несколькими таблицами в БД в родительский класс.
Расскажите, чем static отличается от self?
Решение:
Механизм позднего статического связывания (Late Static Binding) нужен для того, чтобы достучаться до статических свойств (методов), или констант родительского класса в дочерних, даже если они уже переопределены.
Применить этот механизм можно, например, когда нужно вынести общую логику работы
❤1👍1