Ich weiß, das funktioniert.
In functions.php
tun:
$variable = "value";
und in header.php
verwende:
global $variable; echo $variable;
Ist es möglich, eine globale Variable in der Template-Seite zu setzen oder eine PHP-Datei einzuschließen?
Überall in Ihrem Skript können Sie eine globale Variable wie folgt definieren:
Verwenden des superglobalen $GLOBALS
Arrays. Dieses Array ist von PHP vordefiniert und in allen Bereichen verfügbar.
Es ist ein associate-Array, das alle globalen Variablen als Schlüssel-Wert-Paar enthält. zB: Der Schlüssel ist der Name der Variablen, und der Wert ist der Wert der Variablen.
$GLOBALS['variablename'] = 'variablevalue';
Und es kann zugegriffen werden als:
$variable = $GLOBALS['variablename'];
oder
global $variable;
um mehr zu wissen ref: PHP Variable Scope
EDIT: Während der Beantwortung ging ich davon aus, dass der Benutzer über Methode 2 Bescheid wusste, aber beim erneuten Lesen scheint es, dass er sich dessen nicht bewusst ist, also erwähne ich es unten.
Methode 2:
Sie können die globale Variable auch mit dem Schlüsselwort ‘global’ definieren. zB Code:
//Datei1.php
class testScope() { function setMsg($msg = 'Hi') { //the variable need not be already defined in the global scope. global $say; $say = 'Hi'; } function say() { global $say; echo $say; } } //file2.php function getFile1() { include('file1.php'); } getFile1(); $sayer = new testScope(); $sayer->setMsg(); // this will create a new global variable. $sayer->say(); global $say; echo $say; $say = "I changed it in global scope"; $sayer->say(); // 'I changed it in global scope' $sayer->set('i changed it inside class'); echo $say; // ' i changed it inside class'
Hinweis: Der Code wurde nicht getestet