PHP Experience 2019: Livre-se dos erros – análise estática em PHP
Será que realmente é preciso escrever testes para cada linha de código? Nesta apresentação do PHP Experience 2019, Marcela Godoy traz a resposta.

Depois da apresentação de Matheus Gontijo, foi a vez da Engenheira de Software, Marcela Godoy, tomar conta do palco e falar sobre análise estática em PHP↳PHP44 conteúdosPadronizando seu código com PHP CS FixerDev (Back & Front) · mai 2019Docker de imagem. Para rodar projetos PHP em menos de 30 segundosDev (Back & Front) · jan 2026PHP 7.3: conheça as novidades desta versãoDev (Back & Front) · abr 2019Ver tudo em Dev (Back & Front) →. Se o público presente tinha alguma dúvida sobre a necessidade de escrever testes para cada linha de código, ela foi esclarecida nesta palestra.

Para dar início à sua apresentação, Marcela fez a seguinte pergunta ao público:
- “Quem aqui usa Análise Estática?”
Em seguida, trouxe uma definição rápida das linguagens Java e PHP:
“Basicamente, o Java tem um outro programa que pega o código gerado e analisa se ele faz sentido. Essa análise é feita antes da execução da aplicação.”
“O PHP é o que chamamos de linguagem interpretada. Ele não possui um interpretador que analisa a linguagem antes de ser executada.”
Após o rápido resumo das linguagens, ela trouxe um assunto que é bastante comentado na comunidade: a necessidade de blindar o código. O problema é isso que consome tempo e gera gastos. Segundo ela, a solução para esse dilema é a Análise Estática.
Análise Estática
Análise Estática é um método de depuração da aplicação através da análise de código, sem a necessidade de execução do mesmo. Entre as principais características, a Engenheira apresentou três características principais:
- Verificação por Estilo
- Verificação por Boas Práticas
- Verificação por Bugs
Saber o que é Análise Estática não basta. Se você está se perguntando qual é a necessidade usar análise estática, fique tranquilo, Marcela apresentou a resposta de forma bastante clara.
Segundo ela, a abordagem pode reduzir de 5% a 30% os defeitos do código. Outra vantagem é desenvolver uma melhor aprendizagem de melhores práticas entre os desenvolvedores.
Além disso, ela reforçou que se corrigirmos falhas logo no início, poderemos disponibilizar mais rapidamente no mercado e concluiu dizendo que tudo isso pode ser incluído em uma Integração Contínua↳CI/CD23 conteúdosCI/CD Mobile: o caos invisível que separa times comuns de times de alta performanceDev (Back & Front) · abr 2026Lambda: implementando com GitLab CI/CD e Terraform para Integração SFTP, S3 e Databricks em GoDev (Back & Front) · nov 2023Publicando sua aplicação Web Python no WebApp do Azure e configurando o CI/CD da sua aplicaçãoDevSecOps · abr 2019Ver tudo em DevSecOps →.
“Análise Estática não é o único meio de se obter um bom código. Utilizar somente análise estática não basta!”
Algumas alternativas que podem complementar o time de análises foram apresentadas. Uma delas foi o Code Review, interessante para analisar a lógica do negócio e melhor ainda for usado em conjunto com a análise estática.
O cenário dos sonhos, segundo Marcela, seria a aplicação de um code review, juntamente com testes unitários e análise estática.
Para encerrar sua apresentação, Marcela apresentou duas ferramentas para Análise Estática:
PHP CodeSniffer
Vista como uma ferramenta essencial no desenvolvimento, o CodeSniffer realiza a análise dos padrões de código (PSR-1 e PSR-2) e ajuda com a produção de código limpo e organizado.
PHP Stan
O PHP Stan, por sua vez, atua mais na existência e acessibilidade↳Acessibilidade11 conteúdosO que é Acessibilidade Web e como tornar seu site mais acessívelDev (Back & Front) · mar 2019Design para veteranos digitais: acessibilidade para nós mesmosProduto & UX · jan 2020Dicas de Front-End para usabilidade, acessibilidade, performance e responsividadeProduto & UX · fev 2025Ver tudo em Produto & UX → a métodos e funções e conta com variáveis respeitando escopos e duplicações de código.







