Integrando o Composer com o CodeIgniter

Nesse tutorial vou mostrar como integrar o Composer com a framework PHP CodeIgniter. Sozinhos eles já agilizam bastante o trabalho, juntos podem fazer muito mais.

Por | @jonathanlamimkt Programação

Aumentar a produtividade e a qualidade dos nossos projetos é sempre importante, e ao final desse tutorial você saberá como melhorar a sua produtividade usando o gerenciador de pacotes Composer, junto com a framework PHP CodeIgniter. A primeira coisa a se fazer é o download do CodeIgniter, que atualmente está na versão 2.2.0. Clique aqui para fazer o download.

Feito o download, copie os diretórios "application" e "system" e o arquivo "index.php" para a pasta do projeto no seu servidor.

Após copiar os arquivos, vamo criar um segundo arquivo chamado "composer.json", esse tornará possível o gerenciamento correto dos pacotes. Nesse arquivo vamos informar que precisamos dos pacotes "PHPMailer" e "GravatarLib".

<h3>composer.json</h3>

{
&nbsp;&nbsp; &nbsp;"require":
&nbsp;&nbsp; &nbsp;{
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;"phpmailer/phpmailer": "dev-master",
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;"emberlabs/gravatarlib": "dev-master"
&nbsp;&nbsp; &nbsp;}
}
Salve o arquivo "composer.json" na raiz do projeto, junto do arquivo "index.php".

O Composer utiliza, por padrão o diretório "Vendor" para armazenamento dos pacotes, mas para manter a estrutura padrão de diretórios do CodeIgniter, vamos modificar o diretório padrão do Composer. Considerando que os pacotes instalados via Composer são bibliotecas (libraries) podemos armazenar esses pacotes em "application/libraries", ou em "application/third_party". Para este tutorial utilizaremos o diretório "application/libraries".

Altere o seu arquivo "composer.json" da seguinte forma:

{
&nbsp;&nbsp; &nbsp;"config":
&nbsp;&nbsp; &nbsp;{
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;"vendor-dir":"application/libraries"
&nbsp;&nbsp; &nbsp;},

&nbsp;&nbsp; &nbsp;"require":
&nbsp;&nbsp; &nbsp;{
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;"phpmailer/phpmailer": "dev-master"
&nbsp;&nbsp; &nbsp;}
}

Com o arquivo "composer.json" pronto e com o diretório de armazenamento dos pacotes informados, agora precisamos fazer com que o CodeIgniter carregue esses pacotes. para isso vamos abrir o arquivo "index.php", que se encontra na raiz do diretório do projeto, e adicionar o código a seguir antes da chamada do bootstrap do CodeIgniter.

require_once $application_folder . '/libraries/autoload';

O código do arquivo "index.php" ficará com a sua parte final da seguinte forma:

/*
&nbsp;* --------------------------------------------------------------------
&nbsp;* COMPOSER AUTOLOAD
&nbsp;* --------------------------------------------------------------------
&nbsp;*/
require_once $application_folder . '/libraries/autoload.php';


/*
&nbsp;* --------------------------------------------------------------------
&nbsp;* LOAD THE BOOTSTRAP FILE
&nbsp;* --------------------------------------------------------------------
&nbsp;*
&nbsp;* And away we go...
&nbsp;*
&nbsp;*/
require_once BASEPATH.'core/CodeIgniter.php';

/* End of file index.php */
/* Location: ./index.php */
Agora que os arquivos necess&aacute;rios j&aacute; foram criados e atualizados e os pacotes necess&aacute;rios j&aacute; foram informados, &eacute; hora de fazer a instala&ccedil;&atilde;o do composer e dos pacotes.

Abra o terminal, pois agora o trabalho &eacute; feito via linha de comando, e v&aacute; at&eacute; o diret&oacute;rio do projeto. O comando para abrir o diret&oacute;rio &eacute;:

cd /path/do/diretorio
A partir desse momento, tudo vai ser executado a partir do diret&oacute;rio do projeto. Vamos ent&atilde;o instalar o composer com o seguinte comando:
composer install
Ap&oacute;s executar esse comando, ser&aacute; feita a instala&ccedil;&atilde;o do composer e dos pacotes informados no arquivo "composer.json".

Vejamos o que aconteceu após a instalação

Abra o gerenciador de arquivos, e vá até o diretório "application/libraries", lá você deverá encontrar um arquivo "autoload.php", o diretório do composer, o diretório do phpmailer e o diretório da emberlabs. Se esses diretórios e arquivos estiverem lá, excelente, você consegui integrar o CodeIgniter com o composer e agora não vai mais precisar ficar fazendo download de arquivos, descompactando e adicionando ao diretório. Basta utilizar os comandos do Composer, via Terminal, que você manterá os pacotes sempre atualizados.

Tudo o que você vai precisar daqui pra frente, é fazer as chamadas para as bibliotecas, conforme a necessidade, e ser feliz.

Até o próximo tutorial!

Mais sobre: php codeigniter composer
Share Tweet
Recomendado
Comentários
Carregar comentários
Destaquesver tudo
  • ASSINE NOSSA NEWSLETTER

    As melhores publicações no
    seu e-mail

  • Preencha para confirmar