PHP의 defined() 함수는 특정 상수가 이미 정의되어 있는지(존재하는지) 확인할 때 사용하는 내장 함수입니다. 코드 실행 중 상수가 선언되었는지 검사해야 할 때 유용하게 활용됩니다.
문법(Syntax)
defined(name)
매개변수(Parameters)
name − 존재 여부를 확인하고자 하는 상수의 이름입니다.
반환값(Return)
상수가 존재하면 true를 반환하고, 존재하지 않으면 false를 반환합니다.
예제(Example)
다음은 define() 함수로 상수를 선언한 뒤, defined() 함수를 사용하여 해당 상수가 존재하는지 확인하는 예제입니다.
<?php
define("myConstant", "This is it!");
echo defined("myConstant");
?>
출력 결과(Output)
1
결과 설명
myConstant가 define()으로 정의되어 있으므로 defined() 함수는 true를 반환합니다. PHP에서 true를 echo로 출력하면 1이 표시되기 때문에 위와 같은 결과가 나옵니다.
존재하지 않는 상수를 확인하는 경우
정의되지 않은 상수를 검사하면 false가 반환되며, 화면에는 아무것도 출력되지 않습니다. 조건문과 함께 사용하면 더욱 안전하게 활용할 수 있습니다.
<?php
if (!defined("NEW_CONSTANT")) {
define("NEW_CONSTANT", "새로운 값");
}
echo NEW_CONSTANT;
?>
위 코드처럼 defined() 함수는 상수 중복 정의 오류를 방지하는 패턴에서도 자주 사용됩니다.