Usando pacotes
Código reutilizável é distribuído como pacotes Composer. Um pacote pode ser uma biblioteca de infraestrutura, uma integração com o Yii, um recurso reutilizável ou um módulo que representa um contexto da aplicação.
Esta página explica como usar pacotes em uma aplicação. Para criar um pacote compatível com o Yii, veja Projetando pacotes para aplicações Yii.
Instalando pacotes
Por padrão, o Composer instala pacotes registrados no Packagist, o principal repositório de pacotes PHP de código aberto.
Instale um pacote com:
composer require vendor-name/package-nameO Composer atualiza dois arquivos:
composer.jsonarmazena o nome do pacote e a restrição de versão.composer.lockarmazena as versões exatas instaladas.
Faça commit dos dois arquivos para que outros ambientes instalem as mesmas versões das dependências.
Os pacotes instalados ficam na pasta vendor/ da aplicação.
WARNING
Nunca edite arquivos em vendor/ diretamente. Em vez disso, altere a configuração da aplicação, estenda classes, decore serviços ou contribua com correções para o pacote.
As classes dos pacotes ficam disponíveis pelo autoload do Composer após a instalação. Veja Autoload para mais detalhes.
Atualizando pacotes
Atualize um pacote dentro da restrição de versão registrada no composer.json:
composer update vendor-name/package-nameAltere a restrição de versão aceita com composer require:
composer require vendor-name/package-name:^2.0Depois de atualizar um pacote compatível com o Yii, o Composer reconstrói o merge plan de configuração do Yii. Se você alterou manualmente os mapeamentos de grupos de configuração, reconstrua-o explicitamente:
composer yii-config-rebuildRemovendo pacotes
Remova um pacote com:
composer remove vendor-name/package-nameEm seguida, remova o código e a configuração da aplicação que referenciavam classes, serviços, rotas, comandos, assets, migrations ou traduções desse pacote.
Pacotes privados
Para código privado, configure repositórios do Composer no composer.json da aplicação. As opções mais comuns são:
vcspara um repositório Git.pathpara um pacote local durante o desenvolvimento.composerpara um repositório Composer privado.
Por exemplo, para trabalhar com um pacote localizado ao lado da aplicação:
{
"repositories": [
{
"type": "path",
"url": "../packages/blog"
}
]
}Depois, instale-o normalmente:
composer require vendor/blogLeia mais na documentação de repositórios do Composer.
Configuração de pacotes
Alguns pacotes Yii fornecem configuração padrão por meio do yiisoft/config. Após a instalação, a configuração do pacote passa a fazer parte da camada vendor, e a aplicação pode sobrescrevê-la na configuração do pacote raiz.
Prefira sobrescritas parciais nos arquivos de configuração da aplicação em vez de copiar arquivos de configuração inteiros do pacote. Por exemplo, sobrescreva apenas o parâmetro ou a definição de serviço de que você precisa.
Para mais detalhes, veja Configuração e Projetando pacotes para aplicações Yii.