PHP Tooling
O canivete suiço que todo dev PHP deveria conhecer
Vicente Martins
Comunidades:
- PHP - PB
- GRUDE-PB
Objetivos
Começando pelo começo...
$ php -h
Começando pelo começo...
$ php -a
-
Modo interativo do PHP;
-
Necessidade da extensão readline;
Começando pelo começo...
$ php -a
Começando pelo começo...
$ psysh (psysh.org)
-
Muito mais interativa do que o modo interativo nativo do PHP;
-
Também tem a necessidade da extensão readline;
Começando pelo começo...
$ psysh (psysh.org)
Começando pelo começo...
$ psysh (psysh.org)
-
Pode ser usado como um debugger;
-
Aceita [tab] para autocomplete;
-
Acessa namespaces;
-
Permite rodar comandos como o list (listar sobre sua codebase), show (mostra trecho do código) e help;
-
Permite a criação de comandos;
Tentando deixar mais interessante...
Tentando deixar mais interessante...
xDebug
- Ferramenta de debugger mais popular do ecosystema PHP;
- Autointitula upgrade do var_dump();
- Stack trace em tempo real;
- Através de profiles, possibilita analise de gargalos na base de código;
Tentando deixar mais interessante...
xDebug
- O lado negativo desta ferramenta está relacionada a sua configuração;
Seguimos tentando...
Seguimos tentando...
$ composer
- Gerenciador de dependências mais famoso do ecosistema PHP;
- Principal repositório é o Packagist (packagist.org);
- Conjunto de facilidades para o dia-a-dia;
Quem sabe agora...
Análise de padrão de código
Quem sabe agora...
$ phpcs || phpcbf
- Deveria dizer PHP_CodeSniffer?
- phpcs executa um sniffer para cada padrão de código;
- phpcbf corrige, quando possível, as falhas encontradas pelo phpcs;
- Exige como versão mínima o PHP 5.4.x;
1
Quem sabe agora...
$ phpcs
Quem sabe agora...
$ phpcbf
Ou então agora...
Análise estática de código
Ou então agora...
$ phan
- Realiza análise sobre falsos positivos em cima da sua base de código;
- Depende da extensão php-ast;
Ou então agora...
$ phan
- Features que mais me chamam atenção
- Checagem de todas as estruturas existente no arquivo do script;
- Compatibilidade de versão;
- Valida e garante o tipo de retorno para metodos/funções/closures;
Ou então agora...
$ phan
- Outras features interessantes
- Partes não usadas;
- Suporta verificações a partir de uma PHPDoc;
- Várias outras funcionalidades lindas;
Vamo que vamo...
Testes
Vamo que vamo...
PHPUnit
- Melhor ferramenta para testes automatizados do ambiente PHP (Opnião própria);
- Melhorias significativas com a atualização do PHP e surgimento do FIG;
- Possui um conjunto de asserções que possibilitam testar as partes do software que é interessante aplicar test;
Vamo que vamo...
PHPUnit
- Execução a partir do CLI;
- Aceita arquivo de configuração - phpunit.xml
Minha última tentativa!
Deployer
Minha última tentativa!
- Ferramenta de deploy escrita em PHP;
- Integração com os mais diversos frameworks PHP;
Minha última tentativa!
- Principais funcionalidades:
- Setup simples;
- Execução em paralelo com outras ferramentas;
- Possibilidade de rollback;
- Necessário somente acesso via SSH;
- Zero down time;
Minha última tentativa!
De forma simplificada, você define tarefas e o deployer segue os passos definidos. Se nenhum problema for identificado, sua aplicação vai para produção logo após a conclusão das tasks.
Minha última tentativa!
Não digam que não tentei!
Isso é tudo pessoal!
Dúvidas?
Contatos
-
twitter / telegram / outras
- @ vicentimartins
-
email
- geo.martins7@gmail.com
-
fone
- (83) 9 9824.2749
PHP Tooling
By Vicente Martins
PHP Tooling
- 287