Использование Composer, когда несколько компонентов находятся в одном репозитории vcs
У меня есть репозиторий Git, который содержит несколько небольших и связанных библиотек. Поскольку на платформе, с которой я работаю, отсутствует надлежащее управление зависимостями, работа со многими Git-репозиториями является проблемой, поэтому моя команда решила поместить их в одно GIT-репо. Сейчас я работаю над тем, чтобы наше программное обеспечение можно было установить через Composer. Однако мне не ясно, как зарегистрировать каждый компонент в этом git-репо, так как я даже не уверен, что возможно иметь более одного файла composer.json на репо. Это возможно? И если да, то как?
1 ответ
"Возможно ли иметь более одного файла composer.json на репо".
Нет.
Вы не можете зарегистрировать компоненты по отдельности, они будут зарегистрированы как одна большая зависимость, и вам придется импортировать их все в другие проекты, вместо того, чтобы иметь возможность извлекать их по отдельности.
Однако вы можете зарегистрировать, где каждый компонент находится в структуре каталогов, чтобы автозагрузчик мог правильно их загрузить.
"autoload": {
"psr-0": {
"Intahwebz\\Component1": "src/Component1",
"Intahwebz\\Component2": "src/Intahwebz/Component2",
"Intahwebz": "src/"
}
}
После включения сгенерированного Composer автозагрузчика, создание нового класса типа Intahwebz\Component1\TestClass найдет его в правильном каталоге.