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 6function 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 5echo 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:
Články píše Jan Barášek © 2009-2024 | Kontakt | Mapa webu
Status | Aktualizováno: ... | it