현재 위치: > 최신 기사 목록> PHP 오류 : "정의되지 않은 상수를 참조하려는 시도"문제를 해결하는 방법

PHP 오류 : "정의되지 않은 상수를 참조하려는 시도"문제를 해결하는 방법

gitbox 2025-06-12

1. 상수는 무엇입니까?

"정의되지 않은 상수를 참조하려고 시도하는"오류를 해결하는 방법을 다루기 전에 상수의 정의를 이해해야합니다. 상수는 프로그램에서 특수한 유형의 변수이며, 프로그램 실행 중에 그 값은 변경되지 않습니다. 상수는 PHP의 내장 정의 () 함수를 통해 정의 될 수 있으며 기본 구문은 다음과 같습니다.

 define(name, value, case-insensitive);

여기서 이름 은 상수 이름이고, 은 상수의 값이며, 사례 불신성은 상수 이름의 사례 민감도를 제어하며, 이는 기본값으로 거짓으로 사례 감도를 나타냅니다.

2. "정의되지 않은 상수를 참조하려는"오류의 원인

PHP에서 프로그램이 정의되지 않은 상수 또는 변수에 액세스하면 E_Notice 레벨 오류가 발생합니다. 개발자는 일반적으로 프로그램 중단을 피하기 위해 E_Notice 오류보고를 닫지 만 정의되지 않은 상수 또는 변수가 실제로 프로그램에서 참조되면 예상치 못한 오류가 발생할 수 있습니다.

이 오류의 주된 이유는 정의되지 않은 상수가 프로그램에 사용되기 때문입니다. 두 가지 일반적인 상황은 다음과 같습니다.

  • 존재하지 않는 상수가 사용되었습니다
  • 상수의 값을 참조하지만 상수는 정의되지 않습니다.

2.1 존재하지 않는 상수가 사용되었습니다

프로그램에서 정의되지 않은 상수가 시도되면 PHP는 "정의되지 않은 상수를 참조하려는"오류를 트리거합니다. 다음 코드 예제는 다음을 보여줍니다.

 $result = $a + UNDEFINED_CONSTANT;

이 예에서 $ a는 정의 된 변수이며 undefined_constant는 정의되지 않은 상수입니다. 현재 PHP는 상수 이름을 문자열로 처리하고 $ result 변수에 값을 할당합니다.

2.2 상수의 값을 사용하십시오

또한 프로그램이 정의 된 상수의 값을 참조하려고하지만 상수는 정의되지 않은 경우 유사한 오류가 발생합니다. 코드 예는 다음과 같습니다.

 $foo = CONSTANT_NAME;

Constant Constant_name이 정의되지 않은 경우 PHP는 문자열로 처리하여 $ foo 변수에 할당합니다.

3. "정의되지 않은 상수를 참조하려고 시도하는"오류를 피하는 방법은 무엇입니까?

이 오류를 피하기 위해 개발자는 기능에 전달 될 때 사용 된 모든 상수와 변수가 정의되고 유효하도록해야합니다. 실수를 방지하기위한 몇 가지 제안은 다음과 같습니다.

  • define () 함수를 사용하는 경우 상수의 이름이 올바르게 명명되고 할당되어 있는지 확인하십시오.
  • 사례 불일치로 인한 문제를 피하기 위해 일정한 이름의 경우에주의하십시오.
  • 상수를 호출하기 전에 정의되었는지 확인하고 그 값이 유효한지 확인하십시오.
  • PHP의 오류보고 기능을 켜서 E_Notice- 레벨 오류를 즉시 발견하고 수정하십시오.

4. "정의되지 않은 상수를 참조하는 시도"오류를 해결하는 방법은 무엇입니까?

"정의되지 않은 상수 참조"오류가 발생하면 개발자는 다음과 같은 방법으로 문제를 해결할 수 있습니다.

4.1 상수 이름이 올바른지 확인하십시오

우선, 코드에서 상수 이름이 올바른지 확인하고 사례 문제에 특별한주의를 기울여야합니다. PHP의 상수 이름은 사례에 민감하며, 사례가 일치하지 않으면 PHP는 상수를 인식하지 못합니다.

4.2 상수가 정의되어 있는지 확인하십시오

둘째, 상수가 이미 코드에 정의되어 있는지 확인하십시오. 정의되지 않은 경우 개발자는 정의 () 함수를 사용하여 상수를 정의해야합니다.

4.3 constant () 또는 defined () 함수를 사용하여 상수를 점검하십시오

상수가 정의되어 있는지 확실하지 않은 경우 constant ()defined () 함수를 사용하여 상수의 정의 상태를 확인할 수 있습니다.

  • constant () 함수는 상수의 값을 반환하는 데 사용됩니다.
  • 정의 된 () 함수는 상수가 정의되어 있는지 여부를 결정하고 부울 값을 반환하는 데 사용됩니다.

4.4 처리 오류 보고서

개발자가 오류를 무시하지 않거나 비슷한 문제를 자주 발생하는 경우 PHP의 오류보고 수준을 E_all 로 설정하여 모든 E_Notice 오류를 캡처하여 처리 할 수 ​​있습니다.

5. 요약

PHP 개발 중에 "정의되지 않은 상수를 참조하려는"오류를 피하는 것이 중요합니다. 개발자는 상수와 변수가 모두 올바르게 정의되고 함수로 전달 된 상수와 변수에 유효한 값이 있는지 확인해야합니다. 이 오류가 발생하면 위의 방법에 따라 문제를 해결하고 해결할 수 있습니다.