Supposons que nous ayons la fonction suivante en PHP :
public function testSomething()
{
$name = perform_sql_query("SELECT name FROM table WHERE id = $entity_id;");
assert($name == "some_name");
}
La requête est syntaxiquement correcte, mais comme $entity_id n'est pas défini, la requête cherchera toujours 'id = 0', ce qui est sémantiquement incorrect.
J'aimerais que ces fonctions échouent automatiquement lorsqu'elles tentent d'utiliser une variable non définie. Existe-t-il un tel mécanisme en PHP ? Ou peut-être existe-t-il un outil, qui peut être utilisé pour analyser le code source de PHP afin de trouver de tels cas ?
Ces variables non définies peuvent se trouver n'importe où dans le projet, de sorte que la décision correcte sera de vérifier les arguments des fonctions dans chaque fonction.
La mise en place d'un gestionnaire d'erreur a été facilitée. Désormais, chaque fois qu'une variable non initialisée est utilisée, une exception est levée.