Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich in allen PHP-Funktionen auf eine globale Variable zugreifen, ohne sie wiederholt zu deklarieren?

Wie kann ich in allen PHP-Funktionen auf eine globale Variable zugreifen, ohne sie wiederholt zu deklarieren?

DDD
DDDOriginal
2024-12-01 17:40:15156Durchsuche

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

Globale Variablendeklaration in PHP

Problem:

In einem PHP-Skript ist dies der Fall Es ist notwendig, eine Variable innerhalb jeder Funktion, die darauf zugreifen muss, als global zu deklarieren. Gibt es eine Möglichkeit, eine globale Variable einmal zu definieren und in allen Funktionen gleichzeitig darauf zuzugreifen, ohne manuell in jeder Funktion global zu verwenden?

Antwort:

Es gibt zwei alternative Methoden :

Methode 1: Verwendung des $GLOBALS-Arrays:

The Das Array $GLOBALS ist ein assoziatives Array, das Verweise auf alle im globalen Bereich definierten Variablen enthält. Um eine globale Variable mit $GLOBALS zu deklarieren, weisen Sie ihr einfach einen Wert außerhalb einer beliebigen Funktion zu:

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

Nach der Definition können Sie in jeder Funktion auf $GLOBALS['a'] zugreifen:

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

Methode 2: Verwenden einer Klasse mit Eigenschaften:

Wenn Funktionen einen Satz von Variablen gemeinsam nutzen, sollten Sie darüber nachdenken Kapseln Sie sie in einer Klasse mit Eigenschaften:

class MyTest {
    protected $a;

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

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

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

Instanziieren Sie die Klasse außerhalb einer Funktion und greifen Sie innerhalb der Methoden auf ihre Eigenschaften zu:

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

Das obige ist der detaillierte Inhalt vonWie kann ich in allen PHP-Funktionen auf eine globale Variable zugreifen, ohne sie wiederholt zu deklarieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn