L'ho già toccato distrattamente in passato, ma adesso lo scopro come una necessità piuttosto impellente.
Ho visto i tipi di variabili, perlomeno alcuni tipi di variabili, ma adesso è il caso che faccia uno studio generale.
Lo Scope è fondamentale.
Anche qui, come in JavaScript, esistono le funzioni.
Scrivo una funzione la chiamo, banalmente.
<?php
function funzione(){
echo "Questa è una funzione";
}
funzione();
?>
Sì, funziona esattamente come il JavaScript.Detto questo, analizziamo lo scope.
<?php
$variabile=123;
function funzione(){
echo $variabile;
}
funzione();
?>
Notice: Undefined variable: variabile in /storage/ssd3/737/3147737/public_html/index.php on line 4La variabile dichiarata fuori dalla funzione non viene letta nella funzione.
variabile letta al di fuori di una funzione:
<?php
$variabile=123;
function funzione(){
echo "funzione";
}
funzione();
echo $variabile;
?>
funzione123
Allo stesso modo, la variabile dichiarata nella funzione non dovrebbe poter essere letta al di fuori.
Proviamo:
<?php
function funzione(){
$variabile=123;
}
funzione();
echo $variabile;
?>
Notice: Undefined variable: variabile in /storage/ssd3/737/3147737/public_html/index.php on line 8
...e dovrebbe venir letta all'interno della funzione:
<?php
function funzione(){
$variabile=123;
echo $variabile;
}
funzione();
?>
123
Come faccio a leggere una variabile globale all'interno di una funzione?
Credo di aver capito che ci sono due modi:
- mediante la parola chiave global;
- mediante l'array $GLOBALS[index] in cui sono immagazzinate le variabili globali (in index va il nome della variabile).
<?php
$variabile=123;
function funzione(){
global $variabile;
echo $variabile;
}
funzione();
?>
123
Proviamo l'altro metodo:
<?php
$variabile=123;
function funzione(){
echo $GLOBALS['variabile'];
}
funzione();
?>
123Perfetto!
Nessun commento:
Posta un commento