Outil
PHPStan
Analyse statique : types et code mort avant l’exécution, avec des niveaux du “bruit” au “strict”.
PHPStan lit l’AST ; il n’exécute pas l’appli. Cette particularité attrape les appels impossibles, les formes de tableaux fausses et les null que les tests unitaires ne croisent jamais. Les niveaux 0–9 sont un curseur : on les monte quand le code le supporte.
Les baselines existent pour l’adopter sur un brownfield sans mentir. Les extensions (Symfony, Doctrine, PHPUnit) comprennent containers et entités.
Un senior traite un PHPStan rouge en CI comme un test rouge. Psalm est le cousin ; en choisir un et s’y tenir compte plus que la marque.