Composer - Atualização 1

Aula 02 a 03 - Configurando o Composer Json / Rodando o Composer
Nesse curso fizemos a instalação do Composer de outro modo. Para incluir o composer no projeto executamos o script indicado em Composer Download. De lá executamos o script de instalação que faz o download do arquivo composer.phar.
Com esse arquivo podemos fazer a inicialização do composer automaticamente com o comando:
$ php composer.phar init
Com esse comando será iniciado um script de configuração que irá definir o sistema e configurar o arquivo composer.json
Esse script irá apresentar diversas opções de projeto como nome do pacote, descrição, autor, etc.
Em seguida podemos configurar as dependencias que desejamos instalar no projeto, inicialmente as utilizadas em produção e em seguida as dependencias exclusivas de desenvolvimento (require-dev). Para verificar as dependencias compatíveis com o composer podemos verificar a página Packagist. Cada dependencia selecionada será seguida da seleção de versão. Basta digitar o numero da versão ou (1.3.*@stable) para selecionar a versão base com o complemento mais estável.
Na versão mais nova que eu utilizei o script permite ainda criar o path do namespace e instalar as dependencias.
Continuando a configuração inserimos manualmente dois parametros no arquivo composer.json:
"autoload": {
"psr-4": {
"App\\": "App/"
}
},
"config": {
"bin-dir": "bin/"
}

Esse parametros configuram o diretório do autoload e o diretório para os executáveis das dependencias.
Configurado todos os parametros do composer.json podemos executar a instalação com o comando:
php composer.phar install
Para instalar sem as dependencias de desenvolvimento:
php composer.phar install --no-dev
A seguir criamos um arquivo index.php para testar as dependencias. Instanciamos um objeto do silex porém tive alguns erros (note que o silex está deprecado).
Aula 04 a 07 - Criando um pacote Composer / Rodando o Composer / Configurando Packagist Github / Testando
Nesta aula criamos o arquivo composer.json manualmente e criamos os diretórios para as classes conforme definido no namespace.
Em seguida iniciamos o composer, dessa vez com a versão proprietária, com o comando:
$ composer install
Foi criado o arquivo .gitignore que exclui os arquivos do diretório vendor e o composer.lock.
Com o projeto criado e enviado para o GitHub podemos publica esse pacote no Packagist. Fazendo isso podemos posteriormente inserir nosso pacote diretamente no composer.json:
require nome_do_pacote
para iniciá-lo automaticamente. Para garantir o auto upload do pacote devemos sincronizar a conta do GitHub e do Packagist.
Com o pacote sincronizado após incluirmos ele em nosso sistema as classes e métodos passam a ser acessados diretamente pelo namespace.
Aula 08 - Implementando Phpunit
Fiz a implementação seguindo a aula porém a versão do PHP Unit está defasada e não consegui realizar a validação dos testes.