/
Variabili

Variabili locali in PHP

22. 08. 2019

Le variabili locali sono valide solo all'interno del corpo di **funzione** o **metodo** (nella programmazione orientata agli oggetti).

Se stiamo lavorando nel contesto di un normale script, tutto avviene come previsto:

$x = 5;
echo $x; // stampa 5

Ma quando definiamo una funzione personalizzata, il comportamento cambia leggermente:

$x = 5;
function mojeFunkce(): int
{
$x = 3;
echo $x; // stampa 3
}
echo $x; // stampa 5

La ragione è che la variabile $x esiste solo nel contesto della funzione o del metodo corrente. Questo comportamento è intenzionale.

Se vogliamo passare un valore dal codice circostante a una funzione, dobbiamo chiamarla con i parametri necessari:

echo mojeFunkce(5); // stampa 6
function mojeFunkce(int $x): int
{
return $x + 1;
}

I valori vengono inseriti nelle funzioni tramite parametri. Se volete passare ulteriori variabili nella funzione oltre ai parametri, potete usare variabili globali, ma questa non è una buona idea.

L'uso di variabili locali fa un'enorme differenza quando si programma un'applicazione più grande. Se non distinguessimo la validità delle variabili attraverso i contesti, sarebbe impossibile garantire che una variabile non venga sovrascritta in un posto dove non ci contiamo (ecco perché le variabili globali sono il male).

$x = 5;
$y = 3;
function soucet(int $x, int $y): int
{
return $x + $y;
}
echo $x; // stampa 5
echo soucet($x, $y); // stampa 8

Jan Barášek   Více o autorovi

Autor článku pracuje jako seniorní vývojář a software architekt v Praze. Navrhuje a spravuje velké webové aplikace, které znáte a používáte. Od roku 2009 nabral bohaté zkušenosti, které tímto webem předává dál.

Rád vám pomůžu:

Související články

1.
2.