상수
메모:
PHP 8.0.0 이전에는 define() 함수를 사용하여 정의된 상수가 대소문자를 구분하지 않을 수 있습니다.
상수 이름은 PHP의 레이블과 동일한 규칙을 따릅니다. 유효한 상수 이름은 문자 또는 밑줄로 시작하고 그 뒤에 임의의 수의 문자, 숫자 또는 밑줄이 옵니다. 정규식으로 다음과 같이 표현됩니다. ^[a-zA-Z_\x80-\xff][a-zA-Z0-9_\x80-\xff]*$
예약된 이름이나 유효하지 않은 이름을 가진 상수를 define()하는 가능하며, 그 값은 constant() 함수로만 검색할 수 있습니다. 그러나 그렇게 하는 것은 권장되지 않습니다.
팁 Userland Naming Guide도 참조하십시오.
Example #1 유효하고 유효하지 않은 상수 이름
<?php
// Valid constant names
define("FOO", "something");
define("FOO2", "something else");
define("FOO_BAR", "something more");
// Invalid constant names
define("2FOO", "something");
// This is valid, but should be avoided:
// PHP may one day provide a magical constant
// that will break your script
define("__FOO__", "something");
?>
메모 여기서 우리의 목적을 위해 문자는 a-z, A-Z 및 128-255(0x80-0xff)의 ASCII 문자입니다.
superglobals과 마찬가지로 상수의 범위는 글로벌입니다. 상수는 범위에 관계없이 스크립트의 어디에서나 액세스할 수 있습니다. 범위에 대한 자세한 내용은 가변 범위에 대한 매뉴얼 섹션을 참조하십시오.
메모 PHP 7.1.0부터 클래스 상수는 protected 또는 private의 가시성을 선언할 수 있어 정의된 클래스의 계층적 범위에서만 사용할 수 있습니다.