Avatar ·

Cómo realizar el análisis estático de código PHP: herramientas y ejemplos de uso

¡Hola a todos! Llevo escribiendo en PHP aproximadamente un año, y mi proyecto (una tienda online con motor propio) ha crecido hasta más de 50 archivos. He notado que aparecen errores extraños en el código: a veces una variable no está declarada, a veces se llama a un método sobre null, o los tipos no coinciden. Buscar estos bugs manualmente es un infierno. He oído que en otros lenguajes (como TypeScript o Java) existe el análisis estático de código — programas que revisan el código antes de ejecutarlo. Pero, ¿cómo funciona esto en PHP? ¿Hay algo similar? He probado a activar tipos estrictos (declare(strict_types=1)) y error_reporting(E_ALL), pero esto no detecta errores lógicos. Por ejemplo, tengo este código: ```php function calculateDiscount($price, $percent) { return $price - ($price * $percent / 100); } $total = calculateDiscount(1000, '10%'); // Error: pasé un string echo $total; // Devuelve 1000, porque el string se convirtió en 0 ``` Esperaba que PHP al menos advirtiera que estoy pasando un string en lugar de un número. Pero no pasó nada — pro