Maison  >  Article  >  développement back-end  >  Comment déboguer les problèmes de validation d'entrée dans les fonctions PHP ?

Comment déboguer les problèmes de validation d'entrée dans les fonctions PHP ?

王林
王林original
2024-04-18 08:36:01336parcourir

Vous pouvez déboguer les problèmes de validation d'entrée dans les fonctions PHP via var_dump(), error_log(), des points d'arrêt, des exceptions, etc. pour vérifier la valeur des variables d'entrée, enregistrer les messages d'erreur, exécuter du code ligne par ligne ou lancer des exceptions.

如何调试 PHP 函数中输入验证问题?

Comment déboguer les problèmes de validation d'entrée dans les fonctions PHP ?

Cas pratique

La fonction PHP suivante vérifie si les données du champ de texte sont un nombre :

function is_numeric($input) {
  if (!is_string($input)) {
    return false;
  }

  return ctype_digit($input);
}

Technologie de débogage

1 Utilisez var_dump()var_dump()

var_dump() 函数可以帮助你查看输入变量的值。例如:

$input = 'abc';

if (!is_numeric($input)) {
  var_dump($input);
}

这将打印如下输出:

string(3) "abc"

由此可见,该变量是一个字符串,而不是一个数字。

2. 使用 error_log()

error_log() 函数可以将信息记录到日志文件中。例如:

$input = 'abc';

if (!is_numeric($input)) {
  error_log("Input '$input' is not numeric");
}

这样可以将一条错误消息记录到你的日志文件中。

3. 设置断点

对于更复杂的函数,可以使用断点来逐行执行代码并检查变量的值。大多数 IDE 都支持断点,例如:

def is_numeric(input):
    if not isinstance(input, str):
        breakpoint()
        return False

    return input.isdigit()

到达断点时,你可以检查 input

.

var_dump() peut vous aider à visualiser la valeur de la variable d'entrée. Par exemple :

function is_numeric($input) {
  if (!is_string($input)) {
    throw new InvalidArgumentException("Input must be a string");
  }

  if (!ctype_digit($input)) {
    throw new InvalidArgumentException("Input must be numeric");
  }

  return true;
}
Cela affichera le résultat suivant :

rrreee

On peut voir que la variable est une chaîne, pas un nombre.

🎜🎜2. Utilisez la fonction error_log()🎜🎜🎜error_log() pour enregistrer des informations dans le fichier journal. Par exemple : 🎜rrreee🎜Cela enregistrera un message d'erreur dans votre fichier journal. 🎜🎜🎜3. Définir des points d'arrêt🎜🎜🎜Pour des fonctions plus complexes, vous pouvez utiliser des points d'arrêt pour parcourir le code ligne par ligne et examiner les valeurs des variables. La plupart des IDE prennent en charge les points d'arrêt, par exemple : 🎜rrreee🎜Lorsque vous atteignez un point d'arrêt, vous pouvez vérifier le type et la valeur de la variable input. 🎜🎜🎜4. Utiliser des exceptions 🎜🎜🎜Si la validation des entrées échoue, vous pouvez lancer une exception. Par exemple : 🎜rrreee

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn