Avatar ·

Como realizar análise estática de código PHP: ferramentas e exemplos de uso

Olá a todos! Eu escrevo em PHP há cerca de um ano, e meu projeto (uma loja online em um motor próprio) cresceu para mais de 50 arquivos. Percebi que no código aparecem erros estranhos: às vezes uma variável não é declarada, às vezes um método é chamado em null, às vezes os tipos não coincidem. Encontrar esses bugs manualmente é simplesmente um inferno. Ouvi dizer que em outras linguagens (como TypeScript ou Java) existe análise estática de código — programas que verificam o código antes de executá-lo. Mas como isso funciona em PHP? Existe algo parecido? Tentei ativar tipos estritos (declare(strict_types=1)) e error_reporting(E_ALL), mas isso não captura erros lógicos. Por exemplo, tenho este código: ```php function calculateDiscount($price, $percent) { return $price - ($price * $percent / 100); } $total = calculateDiscount(1000, '10%'); // Erro de digitação: passei uma string echo $total; // Retorna 1000, porque a string foi convertida para 0 ``` Esperava que o PHP pelo menos avisasse que estou passando uma string em vez de um número. Mas nada aconteceu — pross