20 – Apêndice A - Dicas sobre o Composer
Site oficial
https://getcomposer.org
Documentação
https://getcomposer.org/doc/
É um gerenciador de dependências para PHP, com bons recursos para instalar, atualizar e gerenciar módulos em PHP. Ele checa quais as dependências de um pacote e as instala, usando as versões indicadas.
Pré-requisitos para sua instalação:
- PHP 5.3.2 ou superior
- curl
- php-cli
- php-mbstring
- git
- unzip
Para Windows
https://getcomposer.org/doc/00-intro.md#using-the-installer
Para Linux
sudo apt install composer
Testando
composer list
Instalando uma dependência/pacote em um projeto
cd projeto
composer require vendor_nome/pacote_nome
Instalar um determinado release
composer require ribafs/admin-br:1.30
Instalar a versão atual em desenvolvimento
composer require ribafs/admin-br:dev-master
Ele criará a pasta vendor no diretório atual com as dependências dentro.
Ajuda
composer help require
Arquivos importantes:
composer.json
composer.lock
autoload.php
composer.json
https://getcomposer.org/doc/04-schema.md
Criando um pacote com o composer
mkdir projeto
cd projeto
composer init
Opções:
--name: Name of the package.
--description: Description of the package.
--author: Autor no formato: Nome <Este endereço de email está sendo protegido de spambots. Você precisa do JavaScript ativado para vê-lo.>
--type: Type of package.
--homepage: Homepage of the package.
--require: Pacote para o require com uma versão. No formato vendor/pacote:1.0.0.
--require-dev: Requisitos de desenvolvimento. Vide --require.
--stability (-s): Valor para o campo minimum-stability.
--license (-l): Licença do package.
--repository: Provide one (or more) custom repositories. They will be stored in the generated composer.json, and used for auto-completion when prompting for the list of requires. Every repository can be either an HTTP URL pointing to a composer repository or a JSON string which similar to what the repositories key accepts.
Publicando projeto para ser instalado com composer:
- Hospedar o projeto no GitHub ou similar
- Publicar no Packagist e configurar a atualização automática
- Instalar com o composer
Dicas:
- Adicione composer.lock no .gitignore em libraries
- Ordene os pacotes no require ou require-dev pelo nome
- Validar o composer.json:
composer validate --no-check-all --strict
- Especificando duas versões do PHP:
"require": {
"php": "7.1.* || 7.2.*"
},
- Configurar autoload-dev para testes:
"autoload": {
"psr-4": {
"Acme\\": "src/"
}
},
"autoload-dev": {
"psr-4": {
"Acme\\": "tests/"
}
},
composer install - instalar dependêncis
composer update - atualizar dependências
composer clear-cache - limpar cache
Desinstalar plugin
composer remove packageauthor/packagename --update-with-dependencies
Após cada alteração no composer.json:
composer dump-autoload
O Packagist.org é o principal repositório de pacotes para o Composer
https://packagist.org/
Comments fornecido por CComment