Je sais que ça marche.
Dans functions.php
faire:
$variable = "value";
et en header.php
, utilisez:
global $variable;
echo $variable;
Est-il possible de définir une variable globale dans une page de modèle ou d'inclure un fichier php?
N'importe où dans votre script, vous pouvez définir une variable globale comme suit:
Utilisation du tableau superglobal $GLOBALS
. Ce tableau est prédéfini par PHP et est disponible dans toutes les portées.
C'est un tableau associé, contenant toutes les variables globales sous forme d'une paire clé-valeur. c'est-à-dire que la clé sera le nom de la variable et que la valeur sera la valeur de la variable.
$GLOBALS['variablename'] = 'variablevalue';
Et on peut y accéder en tant que:
$variable = $GLOBALS['variablename'];
ou
global $variable;
en savoir plus ref: PHP Portée variable
EDIT: Tout en répondant, je suppose que l'utilisateur connaissait la méthode 2, mais en relisant, il semble qu'il ne l'ait peut-être pas, alors je le mentionne plus bas.
Méthode 2:
vous pouvez également définir une variable globale à l'aide du mot clé "global". par exemple code:
//fichier1.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'
Remarque: le code n'est pas testé