마법 상수

어디에 사용하느냐에 따라 달라지는 9개의 마법 상수가 있습니다. 예를 들어, __LINE__의 값은 스크립트에서 사용되는 행에 따라 다릅니다. 이러한 모든 "마법 같은" 상수는 런타임에 확인되는 일반 상수와 달리 컴파일 시간에 확인됩니다. 이러한 특수 상수는 대소문자를 구분하지 않으며 다음과 같습니다.

PHP's magic constants

Name Description
__LINE__ 파일의 현재 줄 번호
__FILE__ 심볼릭 링크를 통해 해석된 경우를 포함한 파일의 전체 경로와 이름. include 내부에서 사용할 경우, include된 파일명이 반환됩니다.
__DIR__ 파일의 디렉토리. 포함한 파일 안에서는, 포함된 파일의 디렉토리를 반환합니다. 이는 dirname(__FILE__)과 동일합니다. 디렉토리명은 루트 디렉토리가 아닌 이상, 마지막에 슬래시가 없습니다.
__FUNCTION__ 함수 이름 또는 익명 함수의 경우 {closure}입니다.
__CLASS__ 클래스 이름입니다. 클래스 이름에는 선언된 네임스페이스가 포함됩니다(예: Foo\Bar). 트레이트 메서드에서 사용되는 경우 __CLASS__는 트레이트가 사용되는 클래스의 이름입니다.
__TRAIT__ trait 명. trait 명은 이를 선언한 네임스페이스를 포함합니다. (예. Foo\Bar)
__METHOD__ 클래스 메소드명.
__NAMESPACE__ 현재 네임스페이스 이름.
ClassName::class 정규화된 클래스 이름입니다.
기타