현재 위치: > 최신 기사 목록> get_defined_constants 함수를 사용하여 상수와 글로벌 변수 간의 가시성 차이를 탐색하십시오. 다른 범위에서 그들이 어떻게 수행하는지 알고 있습니까?

get_defined_constants 함수를 사용하여 상수와 글로벌 변수 간의 가시성 차이를 탐색하십시오. 다른 범위에서 그들이 어떻게 수행하는지 알고 있습니까?

M66 2025-06-15

PHP에서 상수와 글로벌 변수는 두 가지 일반적인 변수 유형입니다. 범위와 가시성이 크게 다릅니다. 상수는 일반적으로 스크립트 전체에서 볼 수있는 반면 글로벌 변수는 범위를 지정합니다. 이 기사에서는 PHP의 내장 get_defined_constants 함수를 사용하여 다른 범위에서 상수와 글로벌 변수 간의 가시성 차이를 탐색합니다.

상수와 글로벌 변수의 기본 차이

먼저 상수와 글로벌 변수의 기본 개념을 이해해야합니다.

끊임없는

상수는 스크립트 라이프 사이클 전체에서 불변의 식별자입니다. 상수가 정의되면 그 값을 변경할 수 없습니다. 정의 할 때 상수를 $ 로 표시 할 필요가 없으며 스크립트의 어느 곳에서나 액세스 할 수 있습니다.

글로벌 변수

글로벌 변수는 글로벌 범위에 정의 된 변수를 나타냅니다. 함수 또는 클래스 방법에서 직접 액세스 할 수 없으며 글로벌 키워드 또는 $ Globals 배열을 통해 액세스해야합니다.

get_defined_constants 함수를 사용하십시오

get_defined_constants는 정의 된 모든 상수를 나열하는 매우 유용한 PHP 함수입니다. 우리는 그것을 사용하여 다른 스코프에서 상수의 가시성을 확인할 수 있습니다. 다음은 get_defined_constants 함수를 사용하여 상수의 가시성을 얻는 방법을 보여주는 샘플 코드입니다.

 <?php

// 상수를 정의하십시오
define('MY_CONSTANT', 'Hello, World!');

function testConstantVisibility() {
    // 현재 범위에서 모든 상수를 얻으십시오
    print_r(get_defined_constants());
}

testConstantVisibility();
?>

이 코드에서는 Constant My_Constant를 정의하고 testConstantVisibility 함수에서 get_defined_constants 함수를 사용하여 모든 상수를 인쇄합니다. 우리가있는 범위에 관계없이, My_Constant 가 지속적으로 보입니다.

실행 결과 :

 Array
(
    [MY_CONSTANT] => Hello, World!
    ...
)

출력에서 볼 수 있듯이 My_Constant 상수는 여전히 함수 내부에서 볼 수 있으므로 상수가 PHP에서 전 세계적으로 볼 수 있음을 의미합니다.

글로벌 변수의 가시성

글로벌 변수는 상수와 다르며 함수 내에서 직접 액세스 할 수 없습니다. 글로벌 변수에 액세스하려면 글로벌 키워드 또는 $ Globals 어레이를 사용해야합니다. 다음은 글로벌 변수의 가시성을 보여주는 코드입니다.

 <?php

// 글로벌 변수를 정의합니다
$myGlobalVar = 'I am a global variable!';

function testGlobalVariableVisibility() {
    global $myGlobalVar; // 사용 global 키워드
    echo $myGlobalVar;
}

testGlobalVariableVisibility();
?>

실행 결과 :

 I am a global variable!

함수 내에서 전역 키워드를 사용하면 글로벌 변수 $ myglobalvar 에 액세스하고 그 값을 성공적으로 출력 할 수 있습니다.

상수 및 글로벌 변수의 가시성 비교

이제 다른 범위에서 상수와 글로벌 변수의 성능을 비교해 봅시다. 다음 코드를 통해 상수와 글로벌 변수 간의 가시성 차이를 동시에 테스트 할 수 있습니다.

 <?php

// 상수를 정의하십시오
define('MY_CONSTANT', 'Hello, World!');

// 글로벌 변수를 정의합니다
$myGlobalVar = 'I am a global variable!';

function testVisibility() {
    // 현재 범위에서 모든 상수를 얻으십시오
    echo "끊임없는 MY_CONSTANT: " . MY_CONSTANT . "\n";
    
    // 사용 global 키워드访问글로벌 변수
    global $myGlobalVar;
    echo "글로벌 변수 myGlobalVar: " . $myGlobalVar;
}

testVisibility();
?>

실행 결과 :

 끊임없는 MY_CONSTANT: Hello, World!
글로벌 변수 myGlobalVar: I am a global variable!

이 예를 통해 상수는 어디서나 직접 액세스 할 수 있지만 기능 내의 글로벌 키워드를 통해 글로벌 변수에 액세스해야합니다. 이것은 상수와 글로벌 변수 사이의 범위의 주요 차이입니다.

요약

PHP에서는 상수와 글로벌 변수 사이의 가시성에 상당한 차이가 있습니다. 범위에 관계없이 스크립트 전체에 상수가 보입니다. 글로벌 변수는 글로벌 범위에서만 볼 수 있으며 글로벌 키워드 또는 $ Globals 어레이를 통해 액세스해야합니다. 이 차이는 프로그래밍 할 때 범위 관리에 중요하며 행동을 이해하면 개발자가 코드를 더 잘 작성하고 잠재적 오류를 피할 수 있습니다.