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>

{
    "require":
    {
        "phpmailer/phpmailer": "dev-master",
        "emberlabs/gravatarlib": "dev-master"
    }
}
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:

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

    "require":
    {
        "phpmailer/phpmailer": "dev-master"
    }
}

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:

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


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

/* End of file index.php */
/* Location: ./index.php */
Agora que os arquivos necessários já foram criados e atualizados e os pacotes necessários já foram informados, é hora de fazer a instalação do composer e dos pacotes.

Abra o terminal, pois agora o trabalho é feito via linha de comando, e vá até o diretório do projeto. O comando para abrir o diretório é:

cd /path/do/diretorio
A partir desse momento, tudo vai ser executado a partir do diretório do projeto. Vamos então instalar o composer com o seguinte comando:
composer install
Após executar esse comando, será feita a instalaçã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!