Adicionando um repositório GitHub personalizado ao seu projeto Laravel 4 usando o Composer

Composer é minha maneira favorita de gerenciar dependências em projetos PHP. O Composer usa o Packagist como seu repositório principal, mas e se você precisar adicionar seu próprio repositório ou pacote personalizado que não esteja no Packagist?

Recentemente, tenho usado muito o Composer em um projeto do Laravel 4 e acabei de encontrar a necessidade de incluir um pacote bifurcado. Felizmente, o Composer pode trabalhar com qualquer repositório de controle de origem. No meu caso, armazenei meu pacote bifurcado no GitHub .

Para incluir seu pacote personalizado, você pode adicionar os seguintes snippets ao arquivo composer.json :

{
"repositories": {
"sag": {
"type": "package",
"package": {
"name": "jason-au/sag",
"description": "Sag with fixed unitialized variables",
"version": "0.8.0",
"source": {
"url": "https://github.com/jason-au/sag",
"type": "git",
"reference": "23503d6bd35cb1bd39379ba968553f216120a1ec"
}
}
}
},
"require": {
"jason-au/sag": "0.8.*"
},
"autoload": {
"psr-0": {
"Sag": "vendor/jason-au/sag/src/"
}
}
}

O bloco “repositórios” define uma lista de seus pacotes personalizados. Nesse caso, defini uma versão bifurcada da biblioteca Sag .

Depois de definido, posso incluir a biblioteca em meu projeto sob o bloco “requerer” . Nota: a versão corresponde ao que foi definido no bloco “repositórios” .

Finalmente, a seção “autoload” informa ao meu aplicativo onde a fonte está localizada. Neste caso, o código fonte do Laravel 4 é colocado na pasta vendor.