ホームページ >バックエンド開発 >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 スクリプトでは、次のようになります。変数にアクセスする必要がある各関数内で変数をグローバルとして宣言する必要があります。各関数内でグローバルを手動で使用せずに、グローバル変数を一度定義し、すべての関数で同時にアクセスする方法はありますか?

回答:

代替方法は 2 つあります:

方法 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。