3.1. 상수
- 상수는 단순한 값을 위한 식별자(이름)이다.
- 상수는 기본적으로 대소문자를 구별한다.(관례상 상수명은 대문자로 한다).
- 형식
[php]
define(“상수명”, “상수값”);
<?php
// 유효한 상수명
define("FOO", "something");
define("FOO2", "something else");
define("FOO_BAR", "something more");// 무효한 상수명
define("2FOO", "something");// 유효하지만, 피해야할 상수명:
// 어느날 PHP에서 마법 상수를 제공할 수 있으며,
// 이 경우 스크립트를 사용할 수 없습니다
define("__FOO__", "something");
?>
[/php]
3.2. 마법 상수
- PHP는 미리 정의된 다양한 상수를 제공하지만 이 상수의 대부분은 다양한 extension에 의해
생성된다. 즉, extension이 같이 컴파일 되어 있거나 동적인 로딩이 이루어 져야 사용할 수 있다. - PHP는 일곱가지의 마법 상수가 존재한다. 아래는 마법상수의 종류들이다.
이름 | 설명 |
---|---|
__LINE__ | 파일의 현재 줄 번호 |
__FILE__ | 파일의 전체경로와 파일명. 포함한 파일 안에서 사용하면, 포함된 파일명을 반환합니다. PHP 4.0.2부터 __FILE__은 언제나 절대 경로를 가지고 있습니다. 이전에는 특정한 경우에서 상대 경로를 가지고 있었습니다. |
__DIR__ | 파일의 디렉토리. 포함한 파일 안에서는 포함된 파일의 디렉토리를 반환합니다. 이는dirname(__FILE__)과 동일합니다. 디렉토리명은 루트 디렉토리가 아닌 이상 마지막에 슬래시가 없습니다. (PHP 5.3.0에서 추가) |
__FUNCTION__ | 함수명. (PHP 4.3.0에서 추가) PHP 5부터 이 상수는 정의된 그대로의 함수명을 반환합니다. (대소문자 구분) PHP 4에서는 항상 소문자였습니다. |
__CLASS__ | 클래스명. (PHP 4.3.0에서 추가) PHP 5부터 이 상수는 정의된 그대로의 클래스명을 반환합니다. (대소문자 구분) PHP 4에서는 항상 소문자였습니다. |
__METHOD__ | 클래스 메쏘드명 (PHP 5.0.0에서 추가) 메쏘드 명은 정의한 대로 반환됩니다. (대소문자 구분) |
__NAMESPACE__ | 현재 이름공간 이름 (대소문자 구분). 이 상수는 컴파일 시에 정의됩니다. (PHP 5.3.0에서 추가) |
[약간의 “마법” PHP 상수]