var_dump(), error_log(), 중단점, 예외 등을 통해 PHP 함수의 입력 유효성 검사 문제를 디버깅하여 입력 변수의 값을 확인하고, 오류 메시지를 기록하고, 코드를 한 줄씩 실행하거나, 예외를 발생시킬 수 있습니다.
PHP 함수의 입력 유효성 검사 문제를 디버깅하는 방법은 무엇입니까?
실용 사례
다음 PHP 함수는 텍스트 필드의 데이터가 숫자인지 확인합니다.
function is_numeric($input) { if (!is_string($input)) { return false; } return ctype_digit($input); }
디버깅 기술
1 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()
함수는 입력 변수의 값을 보는 데 도움이 될 수 있습니다. 예: 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;
}
그러면 다음과 같은 출력이 인쇄됩니다.
변수가 숫자가 아닌 문자열임을 알 수 있습니다.
🎜🎜2.error_log()
🎜🎜🎜error_log()
함수를 사용하여 로그 파일에 정보를 기록합니다. 예: 🎜rrreee🎜 이렇게 하면 로그 파일에 오류 메시지가 기록됩니다. 🎜🎜🎜3. 중단점 설정🎜🎜🎜더 복잡한 함수의 경우 중단점을 사용하여 코드를 한 줄씩 실행하고 변수 값을 검사할 수 있습니다. 대부분의 IDE는 중단점을 지원합니다. 예: 🎜rrreee🎜 중단점에 도달하면 input
변수의 유형과 값을 확인할 수 있습니다. 🎜🎜🎜4. 예외 사용 🎜🎜🎜입력 유효성 검사에 실패하면 예외가 발생할 수 있습니다. 예: 🎜rrreee위 내용은 PHP 함수의 입력 유효성 검사 문제를 디버깅하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!