Задать вопрос
@springimport

Как вызывать расширенные классы?

Для работы с API Magento 2 сделал (сгенерировал) себе либу https://github.com/springimport/swagger-magento2-client Сам проект на yii2.
Возникла необходимость расширить базовые методы. Естественно что трогать код не хочется, поэтому расширение начал в "новом слое" - отдельных классах, наследованных от базовых в либе. В проекте теперь часть кода использует базовые классы, а часть - расширенные. Решил что пора использовать DI. В этом случае в проекте будет только зависимость на интерфейс. По умолчанию в либе нет интерфейсов и, наверное, придется генерировать их вручную и приписывать каждому классу. Но другого решения в не вижу.
Удовлетворяет ли такое расширение принципам SOLID и адекватности?
А если понадобится сделать кэширование методов, то прописываю кэширующий класс для интерфейса и все?
  • Вопрос задан
  • 183 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@Fortop
Tech/Team lead
Вы можете для себя определить, что базовые классы библиотеки выступают для вас в роли интерфейсов, то есть нигде напрямую их не использовать.

В этом случае не нужно ничего генерировать и прописывать вручную.

Что касается вопроса оценки со стороны SOLID, то причём тут это?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽