PHP: Scope variabili
Scope delle variabili in PHP
Lo scope definisce in quali parti del programma una variabile è accessibile. Analizziamo gli scope disponibili in PHP.
Introduzione allo scope
In PHP le variabili non sono sempre accessibili ovunque. Lo scope indica il contesto in cui una variabile può essere letta o modificata: all’interno di una funzione, in tutto lo script o mantenendo il valore tra più esecuzioni.
Variabili locali
Le variabili dichiarate dentro una funzione sono locali. Esistono solo all’interno di quella funzione.
Codice Esempio: variabile locale
<?phpfunction testLocale() {
$x = 10;
echo "Dentro la funzione: $x<br>";
}testLocale();
// Qui $x non è definita// echo $x; // Errore?><!-- Output nel browser:
Dentro la funzione: 10
-->
Variabili globali
Le variabili dichiarate fuori da ogni funzione sono globali. Non possono essere usate direttamente dentro le funzioni a meno che non vengano importate.
Codice Esempio: variabile globale
<?php$y = 5;
function testGlobale() {
global $y;
echo "Dentro la funzione: $y<br>";
}testGlobale();
echo "Fuori dalla funzione: $y<br>";
?><!-- Output nel browser:
Dentro la funzione: 5
Fuori dalla funzione: 5
-->
Codice Esempio: stampa array $GLOBALS
<?php$y = 3;
$z = "Mario";
$GLOBALS['x'] = "Anna";
echo "<pre>";
print_r($GLOBALS);
echo "</pre>";
?><!-- Output nel browser (estratto semplificato):
Array
(
[y] => 3
[z] => Mario
[x] => Anna
[...altre variabili globali di sistema...]
)
-->
Variabili statiche
Le variabili statiche mantengono il loro valore tra le chiamate successive alla funzione.
Codice Esempio: variabile static
<?phpfunction contatore() {
static $count = 0;
$count++;
echo "Chiamata numero: $count<br>";
}contatore();
contatore();
contatore();
?><!-- Output nel browser:
Chiamata numero: 1
Chiamata numero: 2
Chiamata numero: 3
-->
Tabella riassuntiva scope variabili
| Scope | Descrizione | Esempio |
|---|---|---|
| Locale | Visibile solo dentro la funzione in cui è dichiarata | function test() { $x = 5; } |
| Globale | Visibile nello script, ma per usarla in funzione serve global | global $x; |
| Static | Mantiene il valore tra più chiamate della funzione | static $count = 0; |
| $GLOBALS | Array associativo che contiene tutte le variabili globali | $GLOBALS['x'] |
Considerazioni
Comprendere lo scope delle variabili è essenziale per scrivere codice ordinato e senza errori. Una gestione corretta evita conflitti e garantisce che i dati siano accessibili solo dove necessario.

IP: 216.73.216.214