Cum să setezi variabile globale în pagina de șablon?
În orice parte a scriptului tău, poți defini o variabilă globală astfel:
Folosind tabloul superglobal $GLOBALS
. Acest tablou este predefinit de PHP și este disponibil în toate domeniile de aplicare.
Este un tablou asociativ, care conține toate variabilele globale ca perechi cheie-valoare. Adică: cheia va fi numele variabilei, iar valoarea va fi valoarea variabilei.
$GLOBALS['numevariabila'] = 'valoarevariabila';
Și poate fi accesată astfel:
$variabila = $GLOBALS['numevariabila'];
sau
global $variabila;
pentru mai multe informații, consultă: Domeniul de aplicare al variabilelor în PHP
EDIT: Când am răspuns, am presupus că utilizatorul știa despre metoda 2, dar reluând citirea, se pare că poate nu este conștient de ea, așa că o menționez mai jos.
Metoda 2:
poți defini o variabilă globală folosind și cuvântul cheie 'global'. exemplu de cod:
//file1.php
class testScope()
{
function setMsg($msg = 'Bună')
{
//variabila nu trebuie să fie deja definită în domeniul global.
global $salut;
$salut = 'Bună';
}
function say()
{
global $salut;
echo $salut;
}
}
//file2.php
function getFile1()
{
include('file1.php');
}
getFile1();
$sayer = new testScope();
$sayer->setMsg(); // aceasta va crea o nouă variabilă globală.
$sayer->say();
global $salut;
echo $salut;
$salut = "Am schimbat-o în domeniul global";
$sayer->say(); // 'Am schimbat-o în domeniul global'
$sayer->set('am schimbat-o în interiorul clasei');
echo $salut; // 'am schimbat-o în interiorul clasei'
Notă: Codul nu a fost testat
