상수는 프로그램 실행 중에 고정되어있는 값이며 일단 정의되면 수정할 수없는 값입니다. PHP에서 상수는 일반적으로 정의 () 함수에 의해 정의됩니다. 상수의 이름 지정 규칙은 변수의 이름과 유사하지만 변수와 달리 상수의 값은 정의 된 후에는 변경할 수 없습니다.
상수를 사용하는 경우 숫자가있는 상수의 이름을 지정하면 PHP 구문 분석 오류가 발생합니다. PHP는 숫자로 시작하는 문자열을 숫자로 해석하기 때문에 불법적 인 상수 이름을 만듭니다. 예를 들어:
define('3L', 'three');
위의 코드는 PHP에 의해 다음과 같이 구문 분석됩니다.
define(3L, 'three');
숫자는 상수 이름으로 불법이므로 구문 오류가 발생합니다.
숫자로 시작하는 쉬운 방법은 예를 들어 상수 이름 앞에 문자를 추가하는 것입니다.
// 일정한 이름에 글자를 추가하는 예
define('L3', 'three');
echo L3; // 출력 결과가 있습니다 'three'
이 방법으로 PHP는 숫자로 시작하는 불법 이름 대신 상수 이름을 L3 으로 인식합니다.
또 다른 표준 방법은 상수 이름을 문자열로 전달하는 것입니다. 예를 들어 상수 이름이 법적 문자열인지 확인하는 것입니다.
// 문자열 상수 이름을 사용하는 예
define('THREE', 'three');
echo THREE; // 출력 결과가 있습니다 'three'
이런 식으로 구문 분석 중에 모호성을 피하기 위해 상수 이름을 문자열로 명시 적으로 선언합니다.
PHP는 또한 다음과 같이 백 슬래시를 통해 숫자로 시작하는 상수 이름을 피하는 것을 지원합니다.
// 백 슬래시를 사용하여 숫자 상수 이름을 피하는 예
define('\3L', 'three');
echo L3; // 출력 결과가 있습니다 'three'
이 접근법은 불법 숫자 명명으로 인한 오류를 피하지만 상대적으로 거의 사용되지 않습니다.
"불법 숫자를 상수 이름으로 사용하는"PHP 오류가 발생하면 위의 세 가지 방법을 해결할 수 있습니다. 가장 일반적으로 사용되고 권장되는 방법은 상수 이름을 접두사하거나 문자열 형태의 상수 이름을 사용하는 것입니다. 표준화 된 상수 명명은 구문 오류를 피할뿐만 아니라 코드의 가독성과 유지 보수를 향상시키고 코드에서 "매직 숫자"의 출현을 줄입니다.