На момент написания статьи в 2013 году это был один из способов сделать это. Композитор добавлена поддержка более эффективных способов: См @igorw «s ответ
У ВАС ЕСТЬ Хранилище?
Composer поддерживает Git, Mercurial и SVN.
У ВАС ЕСТЬ ДОСТУП ДЛЯ ЗАПИСИ В ХРАНИЛИЩЕ?
Да?
ЕСТЬ ЛИ В РЕПОЗИТОРИИ composer.jsonФАЙЛ
Если у вас есть репозиторий, в который вы можете писать: Добавьте composer.jsonфайл или исправьте существующий, и НЕ используйте решение ниже.
Перейти к @igorw «s ответ
ИСПОЛЬЗУЙТЕ ЭТО ТОЛЬКО ЕСЛИ У ВАС НЕТ РЕПОЗИТОРИЯ
ИЛИ ЕСЛИ В РЕПОЗИТОРИИ НЕТ composer.jsonИ ВЫ НЕ МОЖЕТЕ ДОБАВИТЬ ЕГО
Это переопределит все, что Composer может прочитать из исходного репозитория composer.json, включая зависимости пакета и автозагрузку.
Использование packageшрифта переложит на вас бремя правильного определения всего. Более простой способ - иметь composer.jsonфайл в репозитории и просто использовать его.
Это решение действительно только для тех редких случаев, когда у вас есть заброшенная загрузка ZIP, которую вы не можете изменить, или репозиторий, который вы можете только читать, но он больше не поддерживается.
"repositories": [
{
"type":"package",
"package": {
"name": "l3pp4rd/doctrine-extensions",
"version":"master",
"source": {
"url": "https://github.com/l3pp4rd/DoctrineExtensions.git",
"type": "git",
"reference":"master"
}
}
}
],
"require": {
"l3pp4rd/doctrine-extensions": "master"
}
composer.json, поэтому используйте репо vcs. В вашем примере также нарушается автозагрузка и игнорируется расширениеbranch-alias.