저도 똑같아 보이지만 잘 모르겠습니다.
을 사용하는 많은 프로젝트가 있기 때문 dirname(__FILE__)
입니다.
답변
결과는 정확히 동일합니다 . 그래서 차이가 없습니다.
예를 들어 다음 두 줄은 다음과 같습니다.
var_dump(dirname(__FILE__));
var_dump(__DIR__);
둘 다 동일한 출력을 제공합니다.
string '/home/squale/developpement/tests/temp' (length=37)
그러나 최소한 두 가지 차이점이 있습니다.
__DIR__
PHP> = 5.3 에서만 존재합니다.- 이것이
dirname(__FILE__)
더 널리 사용되는 이유 입니다
- 이것이
__DIR__
컴파일 타임에 평가되는 반면dirname(__FILE__)
, 함수 호출 을 의미하며 실행 타임에 평가됩니다.- 그래서,
__DIR__
인 (또는이어야한다) 빨리.
- 그래서,
참고로 매뉴얼 (인용) 의 매직 상수 섹션을 참조하십시오 .
__DIR__
: 파일의 디렉토리입니다.
포함 내에서 사용하면 포함 된 파일의 디렉터리가 반환됩니다.
이것은
dirname(__FILE__)
.
이 디렉토리 이름은 루트 디렉토리가 아닌 한 후행 슬래시가 없습니다.
(PHP 5.3.0에 추가되었습니다.)