Integrar bibliotecas pelo composer no Adianti Framework 5 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 repos...
PD
Integrar bibliotecas pelo composer no Adianti Framework 5  
Fechado
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.

Para instalar o composer, em sistemas com o curl disponível, utilize o seguinte comando:
curl -sS https://getcomposer.org/installer | php

Após o composer estar instalado, você já pode instalar um pacote, com o seguinte comando:
php composer.phar require fzaninotto/faker

O comando "composer require" faz algumas coisas como:
- Instala a biblioteca no diretório vendor. Neste caso em vendor/fzaninotto/faker/
- 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 arquivo composer.json é uma receita que contém todos pacotes instalados pelo composer, e possui o seguinte formato:
{ "require": { "fzaninotto/faker": "^1.7", "phpmailer/phpmailer": "^6.0", "tburry/pquery": "^1.1", "picqer/php-barcode-generator": "^0.2.2", "dompdf/dompdf": "^0.8.1", "bacon/bacon-qr-code": "^1.0", "phprtflite/phprtflite": "^1.3" }, "require-dev": { "phpunit/phpunit": "^7" } }


O Framework já acompanha alguns pacotes, por isso você verá ali alguns pacotes pré-instalados. Mesmo que você apague acidentalmente a pasta vendor, por meio do composer.json, conseguirá restaurar todos os pacotes com o comando "composer install".

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// autoload.php @generated by Composerrequire_once __DIR__ . '/composer/autoload_real.php';return ComposerAutoloaderInit3403f6f57b1c5808f5595c77dea0e15d::getLoader();?>


Para que uma aplicação desenvolvida com o Framework possa utilizar os pacotes instalados pelo composer, o vendor/autoload.php precisa ser carregado, o que já é feito pelo init.php. Este trecho de código a seguir, importa o autoload e registra ele na pilha de autoloaders da biblioteca SPL do PHP. Isto já é feito desde a versão 5, portanto, não há nada que você precise fazer.
<?php$loader = require 'vendor/autoload.php';$loader->register();?>


Então, para utilizar uma bibliteca do Composer, você só precisa instalar o composer, instalar o pacote, e utilizá-lo na aplicação. Para utilizar o Faker, por exemplo, que é uma biblioteca para geração de dados fictícios de pessoas, basta requisitar a biblioteca e sair usando:

<?phpclass FakerView extends TPage{    public function __construct()    {        parent::__construct();                $faker = Faker\Factory::create();                $output = '';        $output .= '<b>Title</b>: ' . $faker->title . '<br>';        $output .= '<b>Name</b>: ' . $faker->name . '<br>';        $output .= '<b>State</b>: ' . $faker->state . '<br>';        $output .= '<b>State Abbr</b>: ' . $faker->stateAbbr . '<br>';        $output .= '<b>City</b>: ' . $faker->city . '<br>';        $output .= '<b>Street Name</b>: ' . $faker->streetName . '<br>';        $output .= '<b>Number</b>: ' . $faker->buildingNumber . '<br>';        $output .= '<b>Country</b>: ' . $faker->country . '<br>';                $panel = new TPanelGroup('Faker');        $panel->add($output);        parent::add($panel);    }}?>


Revisão dos passos:
1) Instalar o composer: curl -sS https://getcomposer.org/installer | php
2) Instalar o pacote: php composer.phar require fzaninotto/faker
3) Utilizar o pacote na aplicação.

Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (0)