Переопределить «верхние» требования композитора ⇐ Php
-
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
Есть какой-то большой монолитный проект с собственным композитором.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