У меня есть основной проект php, для которого требуется разработанный мной php-компонент, который я намерен повторно использовать в других проектах, компонент находится в главном каталоге поставщика проекта. Однако, нажав на компонент Github, перейдите в основной проект, выполнение обновления для композитора занимает много времени. Чтобы ускорить разработку компонента, есть ли способ включить проект локального компонента в основной проект?
Вот как я делаю разработку локального композитора.
vendor-repo
рядом с папкой поставщика.vendor-repo/vendorname/packagename
packagename
и создайте свой композитный пакет в комплекте с composer.json
и т.д.composer.json
(тот, который требует ваш пакет). Вы также можете отключить репозиторий packagist, добавив "packagist": false
в соответствии с приведенным ниже примером. Это ускорит процесс и станет хорошей идеей, если вы не используете какие-либо пакеты из packagist. "repositories": [ { "type": "path", "url": "vendor-repo/vendorname/packagename" }, { "packagist": false } ]
Затем, когда вы запустите composer update
он получит ваш пакет из вашего локального репо, а не должен получить его от GitHub.
Вы можете добавить библиотеку непосредственно в папку поставщика, зарегистрировать источники, используя autoload psr-0 или psr-4, сбросить классы автозагрузки и создать репозиторий git внутри папки.
Таким образом, вы можете использовать его как библиотеку, и в то же время вам не нужно вытаскивать каждое обновление, которое вы выполняете, чтобы протестировать библиотеку внутри вашего проекта.
Я не знаю, был ли это хороший подход, но символические ссылки не работали для меня, и мне все еще нужно регистрировать классы в автозагрузке.
composer update
занимает много времени, то я считаю, что ваше интернет-соединение слишком медленное. Обновление занимает не более 5 минут.