Переопределить «верхние» требования композитораPhp

Кемеровские программисты php общаются здесь
Anonymous
Переопределить «верхние» требования композитора

Сообщение Anonymous »


Есть какой-то большой монолитный проект с собственным композитором.json. И еще несколько проектов поменьше, как части большого, но со своим композитором.json (они могут работать как сервис, так и как часть монолита без серьезных изменений) Большие и маленькие проекты используют какой-то пакет (возможно, в разных версиях). Можно ли в небольших проектах использовать пакет из собственной папки поставщика вместо основной папки поставщика?

Сейчас в работе что-то вроде этого:

Ядро/поставщик/пакет/1.0 Проекты/подпроект1/поставщик/пакет/2.0 Проекты/подпроект2/поставщик/пакет/2.1 Проекты/подпроект3/поставщик/пакет/2.6 Проекты/подпроект4/поставщик/пакет/3.0 Например, для подпроекта 1 требуется пакет версии 2.0, но используется версия 1.0 из основного проекта

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

Может быть, существует какой-нибудь способ переопределить автозагрузку от собственного поставщика?

Обновление. В любом случае, решается spl_autoload_register с $prepend = true

Вернуться в «Php»