1. Constants - 상수
상수는 단순 값의 식별자 이다.
해당 값은 스크립트 실행 중에 변경할 수 없다.
실제로 상수가 아닌 Masic constants 제외이며, 상수는 기본적으로 대소 문자를 구분합니다.
관례 상 상수 식별자는 항상 대문자입니다.
상수 이름은 PHP의 모든 레이블과 동일한 규칙을 따릅니다.
유효한 상수 이름은 문자 또는 밑줄로 시작하고 그 뒤에 문자, 숫자 또는 밑줄이옵니다.
정규식으로 다음과 같이 표현됩니다.
^[a-zA-Z_\x80-\xff][a-zA-Z0-9_\x80-\xff]*$
define() 함수를 이용하여 상수를 선언 하거나 php 5.3 이 후 부터는 const 키워드로 선언 할 수 있다.
기본 문법 ::
| <?php define(상수명, 값, 대소문자 구분 여부 TRUE/FALSE); const 상수명 = 값; ?> | cs |
상수 선언예제 ::
| <?php // 유효한 상수 이름 define("FOO", "something"); define("FOO2", "something else"); define("FOO_BAR", "something more"); // 잘못된 상수 이름 define("2FOO", "something"); // 이것은 유효하지만 피해야합니다. // PHP는 Magic constants를 제공 할 수 있습니다. define("__FOO__", "something"); ?>
| cs |
그리고 PHP에 의해 생성 된 것을 포함하여 정의 된 상수를 모두 얻으려면 get_defined_constants() 함수를 사용하면 됩니다.
| <?php $constants = get_defined_constants(); var_dump($constants); ?> | cs |
2. Masic constants - 매직 상수
PHP는 실행되는 모든 스크립트 에 미리 정의 된 많은 상수 를 제공 합니다.
그러나 이러한 상수의 대부분은 다양한 확장에 의해 생성되며 동적로드를 통해 또는 컴파일 되었기 때문에 해당 확장을 사용할 수있는 경우에만 존재합니다.
사용되는 위치에 따라 변경되는 8개의 마법 상수가 있습니다.
이러한 모든 "마법의"상수는 런타임에 해결되는 일반 상수와 달리 컴파일 타임에 해결됩니다.
이러한 특수 상수는 대소 문자를 구분하지 않으며 다음과 같습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | <?php function magicConstants() { echo __LINE__; // 파일의 현재 줄 번호를 반환함. echo __FILE__; // 파일의 전체 경로와 이름을 반환함. /* include 내부에서 사용할 경우 include된 파일명을 반환함. */ echo __DIR__; // 파일의 디렉터리를 반환함. /* 포함한 파일 안에서 사용할 경우 포함된 파일의 디렉터리를 반환함. dirname(__FILE__)과 같은 결과를 반환함. */ echo __FUNCTION__; // 함수의 이름을 반환함. echo __CLASS__; // 클래스의 이름을 반환함. 클래스 이름은 대소문자를 구분함. echo __TRAIT__; // 트레이트(trait)의 이름을 반환함. /* 트레이트의 이름은 트레이트를 선언한 네임스페이스를 포함함. */ echo __METHOD__; // 클래스의 메소드 이름을 반환함. echo __NAMESPACE__; // 현재 네임스페이스의 이름을 반환함. } magicConstants(); ?> | cs |