PHP 개발 중에 디버깅 코드는 일상 업무에서 피할 수없는 부분입니다. 디버깅 할 때 현재 정의 된 상수와 그 값을 아는 것이 매우 도움이됩니다. PHP는 모든 정의 된 상수를 포함하는 연관 배열을 반환 할 수있는 매우 실용적인 기능 get_defined_constants () 를 제공합니다. 이 기능을 통해 문제를 신속하게 찾는 데 도움이되는 중요한 상수를 자동으로 강조하는 디버그 기능을 작성할 수 있습니다.
get_defined_constants ()는 현재 스크립트에 정의 된 모든 상수의 이름과 값을 얻는 PHP의 내장 함수입니다. 구문은 다음과 같습니다.
array get_defined_constants(bool $categorize = false)
매개 변수 $ categorize가 false 로 설정되면 상수 이름과 해당 값을 포함하는 평평한 배열이 반환됩니다.
매개 변수 $ categorize가 true 로 설정되면 분류 배열이 시스템 상수 및 사용자 정의 상수로 나뉩니다.
예를 들어:
$constants = get_defined_constants();
print_r($constants);
이 코드는 현재 스크립트에서 정의 된 모든 상수를 출력합니다.
get_defined_constants () 함수를 사용하여 디버깅 기능을 작성하여 개발자가 중요한 상수를 강조하여 문제를 신속하게 찾아 분석 할 수 있습니다. 먼저 상수 목록을 정의하고 중요한 상수를 해당 목록에 넣을 수 있습니다. 그런 다음 get_defined_constants ()를 사용하여 현재 스크립트의 모든 상수를 얻고 상수 목록과 비교하여 이러한 상수를 강조합니다.
다음은이 기능을 구현하는 예입니다.
<?php
// 상수 목록을 정의하십시오
$important_constants = [
'DEBUG_MODE',
'ERROR_LOG_PATH',
'DB_HOST',
'DB_USER',
'DB_PASSWORD'
];
// 디버깅 기능 작성
function highlight_constants($important_constants) {
// 현재 정의 된 모든 상수를 얻으십시오
$constants = get_defined_constants(true);
// 출력을 정의하십시오HTML체재
echo "<table border='1' cellpadding='5' cellspacing='0'>";
echo "<tr><th>상수 이름</th><th>일정한 가치</th></tr>";
// 상수를 반복하고 강조하십시오
foreach ($constants['user'] as $name => $value) {
$highlight = in_array($name, $important_constants) ? "style='background-color: yellow;'" : "";
echo "<tr $highlight><td>$name</td><td>$value</td></tr>";
}
echo "</table>";
}
// 디버깅 기능 호출
highlight_constants($important_constants);
?>
상수 목록 : 먼저 중요한 상수 이름을 포함하는 배열 $ imight_constants를 정의합니다. 이러한 상수는 Debug_Mode , Error_Log_Path 등과 같은 디버깅 중에 특별한 관심사 일 수 있습니다.
상수를 얻으십시오 : get_defined_constants (true)를 사용하여 현재 정의 된 모든 상수를 얻으십시오. get_defined_constants (true) 는 분류 된 배열을 반환하며, 여기서 사용자 키는 사용자 정의 상수를 나타내고 코어 및 Zend 키는 각각 PHP 코어 및 Zend 엔진의 상수를 나타냅니다.
출력 HTML 테이블 : 쉽게 볼 수 있도록 상수를 HTML 테이블 양식으로 출력합니다. $ meight_constants 배열의 상수의 경우 스타일을 설정하여 강조 표시 = '배경색 : 옐로우;' .
디버그 함수 호출 : 마지막으로 Highlower_Constants ($ imight_constants) 함수를 호출하고 모든 상수를 출력하며 중요한 상수를 강조 표시합니다.
노란색 배경의 상수를 강조하는 것 외에도 다른 CSS 스타일을 사용하여 상수를 구별 할 수 있습니다.
글꼴 색상을 변경하십시오
경계를 추가하십시오
대담하거나 이탤릭체를 사용하십시오
에코 출력시 스타일 속성을 조정하십시오. 예를 들어 글꼴 색상을 빨간색으로 변경하십시오.
$highlight = in_array($name, $important_constants) ? "style='color: red;'" : "";
get_defined_constants () 함수를 사용하면 현재 스크립트에 정의 된 모든 상수를 빠르게 얻을 수 있습니다. 사용자 정의 디버깅 기능과 결합하여 디버깅의 가장 중요한 상수를 강조하여 문제를 더 빨리 찾는 데 도움이됩니다. 이 방법은 특히 개발 또는 테스트 단계에 적합하며 디버깅 효율성을 크게 향상시킬 수 있습니다.