>백엔드 개발 >PHP 튜토리얼 >반복적으로 선언하지 않고 모든 PHP 함수의 전역 변수에 어떻게 액세스할 수 있습니까?

반복적으로 선언하지 않고 모든 PHP 함수의 전역 변수에 어떻게 액세스할 수 있습니까?

DDD
DDD원래의
2024-12-01 17:40:15156검색

How Can I Access a Global Variable in All PHP Functions Without Repeatedly Declaring it?

PHP의 전역 변수 선언

문제:

PHP 스크립트에서는 다음과 같습니다. 변수에 액세스해야 하는 각 함수 내에서 변수를 전역으로 선언하는 데 필요합니다. 전역 변수를 한 번 정의하고 각 함수 내에서 전역 변수를 수동으로 사용하지 않고 모든 함수에서 동시에 액세스할 수 있는 방법이 있습니까?

답변:

두 가지 대체 방법이 있습니다. :

방법 1: $GLOBALS 사용 배열:

$GLOBALS 배열은 전역 범위에 정의된 모든 변수에 대한 참조를 포함하는 연관 배열입니다. $GLOBALS를 사용하여 전역 변수를 선언하려면 함수 외부에 값을 할당하면 됩니다.

$GLOBALS['a'] = 'localhost';

한 번 정의되면 모든 함수에서 $GLOBALS['a']에 액세스할 수 있습니다.

function body() {
    echo $GLOBALS['a'];
}

방법 2: 속성이 있는 클래스 사용:

If 함수 변수 세트를 공유하려면 속성이 있는 클래스에 이를 캡슐화하는 것이 좋습니다.

class MyTest {
    protected $a;

    public function __construct($a) {
        $this->a = $a;
    }

    public function head() {
        echo $this->a;
    }

    public function footer() {
        echo $this->a;
    }
}

함수 외부에서 클래스를 인스턴스화하고 메서드 내에서 해당 속성에 액세스합니다.

$a = 'localhost';
$obj = new MyTest($a);

위 내용은 반복적으로 선언하지 않고 모든 PHP 함수의 전역 변수에 어떻게 액세스할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.