- Author: Rafael Dohms - rdohms @ phpsp .org . br
- Author: Augusto Pascutti - augusto @ phpsp . org . br
- Author: Rogerio Prado de Jesus - rogeriopradoj @ gmail . com
Pequeno projeto para aplicar o uso de ferramentas de qualidade em PHP.
Existem testes para as classes existentes assim como um build.xml para utilização do PHING para construção de pacote.
O projeto pode ser facilmente estendido e utilizado para testes próprios.
Em setembro de 2013 a estrutura do projeto foi refeita para usar o Composer para gestão das dependências.
Divirtam-se!
- http://slideshare.net/rdohms/e-no-stimo-dia-ele-escreveu-testes-seminario-php
- http://slideshare.net/augustopascutti/ic-5078492
- http://www.slideshare.net/rogeriopradoj/composer-para-gesto-de-dependncias-encontro-php-season
- PHP 5.3+
- Composer (que irá gerenciar as dependências e cuidar do autoload. Veja o composer.json para a lista completa)
- Xdebug (é usado para geração de relatórios no build)
- Git (é usado para geração de relatórios no build)
Estrutura de diretórios:
- build.xml - utilizado pelo PHING
- composer.json - config do Composer, para gerenciamento das dependências
- composer.lock - trava das dependências do Composer
- init.php - arquivo de inicialização da app
- libs - aplicação
- phpunit.xml.dist - config do PHPUnit, para testes unitários
- public - deve ser o document root do apache
- README.md - este arquivo
- tests - testes unitários
Na raiz do projeto, use o Composer para instalar todas as dependências e geração do autoload.
$ composer install
Configure seu servidor web para usar o diretório public.
Se estiver usando PHP 5.4+, pode usar o servidor embutido:
$ php -S -t public localhost:9876
Pronto, a aplicação já deve ser acessível (no exemplo acima pelo endereço http://localhost:9876).
Todos os comandos abaixo são executados na raiz do projeto, onde tem o arquivo "build.xml":
$ vendor/bin/phing
$ vendor/bin/phpunit
$ vendor/bin/pdepend libs
$ vendor/bin/phpcpd libs
$ vendor/bin/phpcs --standard=Zend --report-summary init.php libs
$ vendor/bin/phpmd libs text cleancode,codesize,controversial,design,naming,unusedcode
$ vendor/bin/phpdoc.php --progressbar --sourcecode
$ vendor/bin/phploc --progress libs tests init.php