Don't you speak portuguese? Translate this site with Google Translator

Pensamento do Dia

Uma garrafa de vinho meio vazia também está meio cheia; mas uma meia mentira nunca será uma meia verdade. (Jean Cocteau)

20 – Apêndice A - Dicas sobre o Composer

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

Novo Testamento

E não vos embriagueis com vinho, em que há contenda, mas enchei-vos do Espírito;
(Ef, 5:18)

Rotas no Mapa do Google

© 2015 Ribamar FS. All Rights Reserved. Designed By JoomShaper