mirror of
https://github.com/adambard/learnxinyminutes-docs.git
synced 2024-12-25 16:23:37 +03:00
Merge pull request #2484 from davelima/composer-ptbr
[php-composer/pt_br] Translate Composer to portuguese
This commit is contained in:
commit
0ede1e9fde
184
pt-br/php-composer-pt.html.markdown
Normal file
184
pt-br/php-composer-pt.html.markdown
Normal file
@ -0,0 +1,184 @@
|
||||
---
|
||||
category: tool
|
||||
tool: composer
|
||||
contributors:
|
||||
- ["Brett Taylor", "https://github.com/glutnix"]
|
||||
translators:
|
||||
- ["David Lima", "https://github.com/davelima"]
|
||||
lang: pt-br
|
||||
filename: LearnComposer-pt.sh
|
||||
---
|
||||
|
||||
[Composer](https://getcomposer.org/) é uma ferramenta de gerenciamento de dependências para PHP. Ele permite que você defina as bibliotecas que seu projeto precisa, e então ele as gerencia (instala/atualiza) para você.
|
||||
|
||||
# Instalando
|
||||
|
||||
```sh
|
||||
# Instala o binário composer.phar no diretório atual
|
||||
curl -sS https://getcomposer.org/installer | php
|
||||
# Se você fizer desta forma, você precisará chamar o composer assim:
|
||||
php composer.phar about
|
||||
|
||||
# Instala o binário em ~/bin/composer
|
||||
# Nota: certifique-se de que ~/bin está na variável de ambiente PATH do seu shell
|
||||
curl -sS https://getcomposer.org/installer | php -- --install-dir=~/bin --filename=composer
|
||||
```
|
||||
|
||||
Usuários Windows devem seguir as Instruções de instalação para Windows:
|
||||
https://getcomposer.org/doc/00-intro.md#installation-windows (EN)
|
||||
|
||||
## Confirmando a instalação
|
||||
|
||||
```sh
|
||||
# Verifica a versão e lista as opções
|
||||
composer
|
||||
|
||||
# Para obter ajuda com os comandos
|
||||
composer help require
|
||||
|
||||
# Verifica se o Composer tem as permissões necessárias e se está atualizado
|
||||
composer diagnose
|
||||
composer diag # atalho
|
||||
|
||||
# Atualiza o binário do Composer para a última versão
|
||||
composer self-update
|
||||
composer self # atalho
|
||||
```
|
||||
|
||||
# Modo de uso
|
||||
|
||||
O Composer armazena as dependências do seu projeto em `composer.json`.
|
||||
Você pode editar este arquivo, mas é recomendável deixar que o Composer faça isso.
|
||||
|
||||
```sh
|
||||
# Cria um novo projeto na pasta atual
|
||||
composer init
|
||||
# Executa um questionário interativo, te pedindo detalhes sobre o projeto.
|
||||
# Você pode deixar o questionário em branco, desde que não haja outros projetos dependendo deste.
|
||||
|
||||
# Se um arquivo composer.json já existir, baixa as dependências
|
||||
composer install
|
||||
|
||||
# Para baixar apenas as dependências de produção, excluindo as de desenvolvimento
|
||||
composer install --no-dev
|
||||
|
||||
# Adiciona uma dependência de produção ao projeto
|
||||
composer require guzzlehttp/guzzle
|
||||
# O Composer se encarrega de verificar qual é a última versão de
|
||||
# guzzlehttp/guzzle, baixar e adicionar a nova dependência no
|
||||
# campo 'require' do composer.json
|
||||
|
||||
composer require guzzlehttp/guzzle:6.0.*
|
||||
# O composer baixa a última versão que combine com o padrão informado (6.0.2, por exemplo)
|
||||
# e adiciona essa dependência ao campo 'require' do arquivo composer.json
|
||||
|
||||
composer require --dev phpunit/phpunit:~4.5.0
|
||||
# O composer irá baixar a dependencia como desenvolvimento,
|
||||
# usando a versão mais recente >= 4.5.0 e < 4.6.0
|
||||
|
||||
composer require-dev phpunit/phpunit:^4.5.0
|
||||
# O composer irá baixar a dependencia como desenvolvimento,
|
||||
# usando a versão mais recente >= 4.5.0 e < 5.0
|
||||
|
||||
# Para mais informações sobre os padrões de versões, veja a
|
||||
# Documentação sobre Versões do Composer: https://getcomposer.org/doc/articles/versions.md (EN)
|
||||
|
||||
# Para ver quais pacotes estão disopníveis e quais estão instalados
|
||||
composer show
|
||||
|
||||
# Para ver quais pacotes estão instalados
|
||||
composer show --installed
|
||||
|
||||
# Para encontrar um pacote que tenha 'mailgun' no nome ou descrição
|
||||
composer search mailgun
|
||||
```
|
||||
|
||||
[Packagist.org](https://packagist.org/) é o repositório principal para pacotes Composer. Pesquise aqui por pacotes existentes.
|
||||
|
||||
## `composer.json` vs `composer.lock`
|
||||
|
||||
O arquivo `composer.json` armazena as preferências de de versão de cada dependência, além de outras informações
|
||||
|
||||
O arquivo `composer.lock` armazena exatamente qual versão foi baixada para cada dependência. Nunca altere este arquivo.
|
||||
|
||||
Se você incluir o arquivo `composer.lock` no seu repositório git, todos os desenvolvedores irão instalar a mesma versão das dependências que você.
|
||||
Mesmo se uma nova versão for lançada, o Composer baixará apenas a versão salva no arquivo de lock.
|
||||
|
||||
```sh
|
||||
# Atualizar todas as dependências para a versão mais recente (ainda dentro das preferências definidas)
|
||||
composer update
|
||||
|
||||
# Para atualizar a versão de uma dependência específica:
|
||||
composer update phpunit/phpunit
|
||||
|
||||
# Para migrar um pacote para uma nova preferência de versão, você pode precisar
|
||||
# remover o pacote antigo e suas dependências primeiro
|
||||
composer remove --dev phpunit/phpunit
|
||||
composer require --dev phpunit/phpunit:^5.0
|
||||
|
||||
```
|
||||
|
||||
## Autoloader
|
||||
|
||||
O Composer cria uma classe autoloader que você pode usar na sua aplicação.
|
||||
Você pode instanciar as classes pelos seus namespaces.
|
||||
|
||||
```php
|
||||
require __DIR__ . '/vendor/autoload.php';
|
||||
|
||||
$mailgun = new Mailgun\Mailgun("key");
|
||||
```
|
||||
|
||||
### Autoloader da PSR-4
|
||||
|
||||
Você pode adicionar seus próprios namespaces ao autoloader.
|
||||
|
||||
No `composer.json`, adicione um campo 'autoload':
|
||||
|
||||
```json
|
||||
{
|
||||
"autoload": {
|
||||
"psr-4": {"Acme\\": "src/"}
|
||||
}
|
||||
}
|
||||
```
|
||||
Isso irá dizer ao autoloader para buscar na pasta `src` tudo o que estiver no namespace `\Acme\`.
|
||||
|
||||
Você também pode [usar a PSR-0, um mapa de classes ou apenas listar os arquivos para incluir](https://getcomposer.org/doc/04-schema.md#autoload),
|
||||
e pode usar o campo `autoload-dev` para namespaces de desenvolvimento.
|
||||
|
||||
Ao adicionar ou alterar alguma chave de autoload, você precisará recriar o autoloader
|
||||
|
||||
```sh
|
||||
composer dump-autoload
|
||||
composer dump # shorthand
|
||||
|
||||
# Otimiza pacotes PSR-0 e PSR-4 para carregar com mapas de classes também.
|
||||
# É mais demorado, mas melhora a performance em produção.
|
||||
composer dump-autoload --optimize --no-dev
|
||||
```
|
||||
|
||||
# O cache do Composer
|
||||
|
||||
```sh
|
||||
# O Composer irá evitar baixar pacotes caso eles estejam no cache. Para limpar o cache:
|
||||
composer clear-cache
|
||||
```
|
||||
|
||||
# Resolução de problemas
|
||||
|
||||
```sh
|
||||
composer diagnose
|
||||
composer self-update
|
||||
composer clear-cache
|
||||
```
|
||||
|
||||
## Tópicos (ainda) não falados neste tutorial
|
||||
|
||||
* Criando e distribuindo seus próprios pacotes no Packagist.org ou qualquer lugar
|
||||
* Hooks Pré- e Pós-: rodar tarefas específicas em determinados eventos do Composer
|
||||
|
||||
### Referências
|
||||
|
||||
* [Composer - O gerenciador de dependências do PHP](https://getcomposer.org/) (EN)
|
||||
* [Packagist.org](https://packagist.org/) (EN)
|
Loading…
Reference in New Issue
Block a user