Instalação
Artigos
Cursos
Loja
INSTALAÇÃO
ARTIGOS
CURSOS
EBOOKS
DOWNLOADS
LOJA
ARTIGOS
Composer: Mais de 1000 bibliotecas disponíveis em seu projeto
Aprenda a utilizar o poderoso gerenciador de pacotes do PHP
# Composer Quando desenvolvemos uma aplicação de negócios, é normal precisarmos de pacotes de terceiros para realizar tarefas específicas, tais como: gerar gráficos, documentos, gerar boletos, notas fiscais, códigos de barras, e outros. No início dos anos 2000, as formas mais comuns de integrar bibliotecas de terceiros em projetos `PHP` eram os repositórios `PEAR` e `PHPClasses`. `PHPClasses` é um repositório mantido pela comunidade, sem padronização e consistência entre os pacotes disponibilizados. `PEAR` foi o primeiro repositório de classes a seguir um certo nível de padronização e validação dos pacotes enviados. No entanto, foi a partir do ano de 2012, com o advento do Composer, que um ecossistema robusto de disponibilização de pacotes foi criado. O Composer, lançado em 2012, é um gerenciador de dependências para `PHP`. Ele fornece um método padronizado para instalação de pacotes e dependências, e baseia-se fortemente no conceito de Namespaces, lançado com o `PHP5.3` no início de 2012. Namespaces permitem o isolamento lógico entre os pacotes, evitando conflitos de declarações. O Composer não é um gerenciador de pacotes tal como o APT do Ubuntu. Ele também roda pela linha de comando, mas resolve dependências e instala pacotes para uso da aplicação, ou seja, bibliotecas de classes `PHP`. Para tal, ele utiliza o repositório de pacotes Packagist.
## Instalação O composer pode ser instalado de duas maneiras: - Em um diretório - Global ### Instalação em diretório O script de instalação simplesmente verifica algumas configurações do `PHP`, caso elas estejam definidas de maneira incorreta ele exibirá uma mensagem. O download será da última versão disponível. ```bash // Baixa o instaldor no diretório atual php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" // Verifica a integridade do instaldor php -r "if (hash_file('SHA384', 'composer-setup.php') === '93b54496392c062774670ac18b134c3b3a95e5a5e5c8f1a9f115f203b75bf9a129d5daa8ba6a13e2cc8a1da0806388a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" // Executa o instalador php composer-setup.php // Remove o instalador php -r "unlink('composer-setup.php');" ``` ### Instalação global Você pode colocar o Compositor PHAR em qualquer lugar que desejar. Se você colocá-lo em um diretório que faz parte do seu `PATH`, você pode acessá-lo globalmente. Em sistemas unixy você pode até torná-lo executável e invocá-lo sem usar diretamente o interpretador `php`. Depois de executar o instalador local, você pode mover o `composer.phar` para um diretório do usuário. ```bash mv composer.phar /usr/local/bin/composer ``` Agora a execução é a partir do comando `composer` invés de `php composer.phar`. Outra maneira de instalar o composer globalmente é com o comando: ```bash $ sudo apt-get install composer ``` ## Instalação no Windows A maneira mais simples de instalar o composer no windows é [baixar e executar o executável](https://getcomposer.org/Composer-Setup.exe) `.exe`. O instalador irá baixar e instalar a última versão disponível do composer. > Atenção: Após realizar a instalação, feche o terminal atual. Isso é importante pois o diretório do composer será carregado quando o terminal iniciar. Para mais informações sobre a instalação manual do composer no windows [acesse este link](https://getcomposer.org/doc/00-intro.md).
## Utilização O composer funciona com um arquivo `composer.json`, nesse arquivo são controlados todos os pacotes (dependências) e suas versões. O composer somente irá baixar pacotes mencionados neste arquivo. O arquivo `composer.json` pode ser criado manualmente, onde o desenvolvedor escreve todas as suas necessidades. Ou ele pode ser criado automaticamente ao adicionar um pacote em seu projeto. Independente da maneira escolhida é necessário conhecer quais são os pacotes disponíveis para o uso. O local ideal para isso é o [Packagist](https://packagist.org/), ele é o destino oficial dos pacotes criados para o composer. É possível escolher entre uma infinidade de projetos, para este tutorial iremos usar o projeto `image intervention`, uma biblioteca de manipulação de imagens. Para isso entre em crie um diretório e inclua o projeto usando o composer: ```bash $ composer require intervention/image ``` O comando `composer require` faz algumas coisas como: - Instala a biblioteca no diretório vendor. Neste caso em vendor/intervention/image - Instala outros pacotes que a biblioteca necessita, também em vendor - Escreve o arquivo `composer.json`, com todos pacotes instalados até o momento - Escreve o arquivo `vendor/autoload.php`, que é um `autoloader` das classes instaladas O diretório `vendor` é onde o composer armazenará, todos os pacotes e dependências, inclusive futuras adições. O arquivo `composer.json` é uma receita que contém todos pacotes instalados pelo composer, e possui o seguinte formato: ```json { "require": { "intervention/image": "^2.4" } } ``` O arquivo vendor/autoload.php é o carregador de classes para os pacotes instalados pelo Composer. Ele tem um conteúdo parecido com o exibido a seguir, podendo ser ligeiramente diferente, conforme o conjunto de bibliotecas instaladas. ```php 'imagick')); ``` O composer oferece aos desenvolvedores meios para que eles não precisem criar coisas que já estão prontas. Ele é uma excelente ferramenta e vale a pena ser estudada.
COMENTE SOBRE