Dopo aver esaminato tutti i tipi di dato presenti in PHP, da questa
lezione cominceremo un esame approfondito delle variabili e delle
loro caratteristiche.
Come già sappiamo le variabili PHP cominciano tutte con il simbolo
del dollaro ($) seguito dal nome della variabile. I nomi
delle variabili sono case-sensitive, cioè PHP distingue tra caratteri
maiuscoli e caratteri minuscoli.
Quando assegniamo un nome ad una variabile è necessario attenersi
alle due seguenti regole:
Il nome di una variabile comincia con una lettera o con un carattere
underscore (il trattino basso _);
I caratteri che seguono possono essere caratteri, numeri o underscore.
Per i tipi di assegnamento delle variabili esiste un piccola differenza
tra PHP3 e PHP4. Infatti mentre in PHP3 è possibile fare un assegnamento
ad una variabile solo per valore, con PHP4 è stata introdotta
la possibilità di effettuare un assegnamento anche per riferimento.
Quando si assegna una espressione ad una variabile per valore
non si fa altro che copiare il valore dellespressione originale
nella variabile di destinazione. Successive modifiche effettuate
sulla variabile non influenzeranno il valore dellespressione
originale e viceversa. Un assegnamento per valore crea, cioè, due
entità del tutto separate.
Effettuare un assegnamento per riferimento significa, invece, che
la nuova variabile semplicemente si riferisce (o diventa un alias,
o punta) alla vecchia. Quindi ogni modifica effettuata su una delle
due avverrà anche sullaltra. Effettuare un assegnamento per
riferimento non implica quindi nessuna copia di variabili.
Ciò rende questo tipo di assegnamento più performante, cioè più
veloce. Questa caratteristica risulta di importanza notevole quando
gli assegnamenti avvengono allinterno di un loop o quando
bisogna assegnare array di grandi dimensioni; quando cioè un assegnamento
per valore e quindi la creazione di una copia dellespressone
risulta essere unoperazione computazionalmente pesante.
Per fare un assegnamento per riferimento basta anteporre il simbolo
& (E commerciale) alla variabile
sorgente.
La figura riportata di seguito vuole essere una rappresentazione
visiva dei concetti appena espressi.
Riportiamo di seguito un esempio di assegnamento per riferimento:
<?php
$Presiente_della_Repubblica = Carlo Azeglio Ciampi;
$Capo_dello_Stato = &$Presiente_della_Repubblica;
echo Il Presidente della Repubblica è $Presiente_della_Repubblica
<br>\n;
echo Il Capo dello stato è $Capo_dello_Stato <br>\n;
/*
Le variabili $Presiente_della_Repubblica e $Capo_dello_Stato
contengono naturalmente lo stesso valore.
*/
/*
Nel caso in cui venga eletto un nuovo Presidente egli
diventa
pure Capo dello Stato.
*/
$Presiente_della_Repubblica = Michele Cocuzza;
echo Il Presidente della Repubblica è $Presiente_della_Repubblica
<br>\n;
echo Il Capo dello stato è $Capo_dello_Stato <br>\n;
?>
Attenzione: è importante notare, al fine di non incorrere
in errori, che le sole espressioni per cui è possibile effettuare
un assegnamento per riferimento, sono quelle a cui è stato dato
un nome. Cioè codici del tipo
$somma =&(2+2);
oppure
fuction somma ()
{
return 4;
}
$risultato = &somma();
causeranno errori nellesecuzione del codice.
Oltre alle variabili definite dallutente, PHP fornisce ad
ogni script in esecuzione un gran numero di variabili predefinite.
Su molte di queste variabili, tuttavia, non è possibile dare alcuna
informazione in quanto dipendono dal server utilizzato, dalla sua
versione e da altri fattori.
Per ottenere una lista di tutte le variabili predefinite, e di molte
altre informazioni utili, si può usare la funzione phpinfo().
Nel corso della prossima lezione forniremo un elenco delle variabili
generate dal server Web Apache.
Torna all'indice Generale del corso di Corso di PHP di Software Planet