정의 ()는 상수를 정의하는 데 PHP에서 사용되는 함수입니다. 구문은 매우 간단합니다.
define('CONSTANT_NAME', 'value');
이 함수는 constant_name constant의 값을 '값' 으로 설정하고 상수의 값은 정의되면 수정되지 않습니다.
그러나 실수로 코드에서 Define ()를 여러 번 호출하여 동일한 이름의 상수를 정의하면 PHP가 오류를보고합니다.
Notice: Constant CONSTANT_NAME already defined
정의 된 () 함수는 상수가 정의되었는지 확인하는 데 사용됩니다. 구문은 다음과 같습니다.
defined('CONSTANT_NAME');
상수가 이미 정의 된 경우 정의 된 ()는 true를 반환하고, 그렇지 않으면 거짓 .
상수를 반복적으로 정의하여 발생하는 오류를 피하기 위해 정의 () 및 defined ()를 조합하여 사용할 수 있습니다. 특정 방법은 다음과 같습니다. 상수를 정의하기 전에 정의 된 ()를 사용하여 상수가 이미 존재하는지 확인하십시오. 상수가 정의되지 않으면 정의 () 를 정의하는 데 사용됩니다.
<?php
if (!defined('MY_CONSTANT')) {
define('MY_CONSTANT', 'SomeValue');
}
echo MY_CONSTANT; // 산출: SomeValue
?>
위의 코드에서 정의 된 ( 'my_constant')는 먼저 my_constant가 정의되었는지 여부를 결정합니다. 정의가 없으면 정의 ()를 실행하여 상수를 정의하십시오.
이 방법은 많은 경우에 매우 실용적이며, 특히 외부 라이브러리 나 프레임 워크를 사용할 때 상수의 반복적 인 정의 문제가 발생합니다. 예를 들어, 여러 파일을 PHP 파일에 소개 하며이 파일은 모두 동일한 상수를 정의하려고 시도 할 수 있습니다. 각 파일에 상수가 정의되어 있는지 확인하지 않으면 이러한 파일을 포함시킬 때 정의 오류가 중복 될 수 있습니다.
정의 된 () 와 define ()을 결합함으로써 동일한 상수가 한 번만 정의되도록하여 불필요한 오류를 피할 수 있습니다.
파일 파일 1.php 와 file2.php 두 파일이 있다고 가정 해 봅시다. 둘 다 동일한 상수 사이트 _url을 정의하려고합니다. 정의 된 ()를 사용하여 상수가 정의되어 있는지 확인하면 오류가 발생합니다.