Come impostare variabili globali nella pagina template?
In qualsiasi punto del tuo script, puoi definire una variabile globale come segue:
Utilizzando l'array superglobale $GLOBALS
. Questo array è predefinito da PHP, e è disponibile in tutti gli scope.
È un array associativo, contenente tutte le variabili globali come coppie chiave-valore. Ad esempio: la chiave sarà il nome della variabile, e il valore sarà il valore della variabile.
$GLOBALS['variablename'] = 'variablevalue';
E può essere accessibile come:
$variable = $GLOBALS['variablename'];
oppure
global $variable;
Per saperne di più, consulta: PHP Variable Scope
MODIFICA: Rispondendo ho dato per scontato che l'utente conoscesse il metodo 2, ma rileggendo sembra che forse non ne sia a conoscenza, quindi lo menziono di seguito.
Metodo 2:
Puoi definire una variabile globale anche usando la parola chiave 'global'. Esempio di codice:
//file1.php
class testScope()
{
function setMsg($msg = 'Ciao')
{
//la variabile non deve essere già definita nello scope globale.
global $say;
$say = 'Ciao';
}
function say()
{
global $say;
echo $say;
}
}
//file2.php
function getFile1()
{
include('file1.php');
}
getFile1();
$sayer = new testScope();
$sayer->setMsg(); // questo creerà una nuova variabile globale.
$sayer->say();
global $say;
echo $say;
$say = "L'ho cambiata nello scope globale";
$sayer->say(); // 'L'ho cambiata nello scope globale'
$sayer->set('l\'ho cambiata dentro la classe');
echo $say; // 'l\'ho cambiata dentro la classe'
Nota: Il codice non è stato testato
