PHP 매직 변수
마법변수
마법변수는 환경에 따라 다른 값을 갖는 것을 말합니다.
예를 들어
__FILE__
이 대표적인 매직변수입니다 a.php 파일에 나타날 때 해당 값은 a.php 파일에 나타날 때 b.php의 특정 경로입니다
. include __FUNCTION__, __CLASS__
간단히 말해서, 이러한 변수의 값은 고정되어 있지 않은 경우가 많지만 마술처럼 매우 마법처럼 변하기 때문에 매직 변수라고 합니다.
마법 변수에는 다음이 포함됩니다.
__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__ 현재 네임스페이스의 이름입니다(대소문자 구분). 이 상수는 컴파일 타임에 정의됩니다. __TRAIT__ 특성은 PHP5.4의 새로운 기능이며 PHP 다중 상속에 대한 솔루션입니다. 예를 들어, 두 개의 추상 클래스를 동시에 상속하는 것은 매우 번거로운 작업입니다. Trait은 이 문제를 해결하기 위해 설계되었습니다.