Dopo aver visto le variabili fornite direttamente dal server web
Apache dedicheremo questa lezione allesame delle variabili
dambiente di PHP. Come quelle passate in rassegna nella scorsa
puntata, anche queste non sono variabili definite da chi scrive
il codice PHP, ma piuttosto provengono dallambiente stesso
di programmazione. Il programmatore ne ha, tuttavia, il completo
controllo.
Le variabili dambiente, infatti, sono variabili importati
in modo implicito allinterno del codice PHP dallambiente
in cui il parser è in esecuzione.
Le variabili di seguito elencate sono create da PHP stesso. Si noti
che le variabili nella forma $HTTP_*_VARS saranno disponibili
solo se la direttiva track_vars del file di configurazione
php.ini è settata ad ON.
Attenzione: nella versione 4.0.3 di PHP, la direttiva track_vars
sarà sempre settata ad ON malgrado quanto specificato nel file di
configurazione.
Se anche la direttiva register_globals del file php.ini è
settata, allora queste variabili saranno visibili come globali allinterno
dello script; questa possibilità dovrebbe essere usata con cautela
e, se possibile, bisognerebbe settare ad OFF la corrispondente direttiva.
Infatti mentre le variabili $HTTP_*_VARS sono sicure, le equivalenti
variabili globali possono essere soprascritte da un input dellutente
per possibili fini maliziosi. Se non è possibile resettare la direttiva
register_globals, allora è necessario prendere i dovuti accorgimenti
per accertarsi che i dati che si stanno usando siano sicuri.
argv: array di argomenti passati allo script; quando lo script
è in esecuzione tramite linea di comando, allora restituisce i parametri
del comando stesso, mentre se è stato chiamato tramite il metodo
GET conterrà la stringa di query.
argc: contiene il numero di parametri della linea di comando
passata allo scrpt.
PHP_SELF: contiene il nome del file che include lo script
attualmente in esecuzione; tale nome viene fornito in modo relativo
a partire dalla cartella document root.
HTTP_COOKIE_VARS: è un array associativo di variabili passate
allo script corrente attraverso i cookies HTTP.
HTTP_GET_VARS: è un array associativo di variabili passate
allo script corrente attraverso il metodo HTTP GET.
HTTP_POST_VARS: è un array associativo di variabili passate
allo script corrente attraverso il metodo HTTP POST.
HTTP_POST_FILES: anche questo è un array associativo di variabili
ma contiene informazioni sui file aggiornati attraverso il metodo
HTTP POST. La variabile HTTP_POST_FILES è disponibile solamente
nelle versioni di PHP 4.0.0 e nelle successive.
HTTP_ENV_VARS: si tratta di un array associativo di variabili
passate allo script attuale lambiente genitore.
HTTP_SERVER_VARS: è un array associativo di variabili passate
allo script corrente dal server HTTP. Tali variabili sono del tutto
analoghe alle variabili di Apache esaminate durante la precedente
lezione.
Durante il corso di questa trattazione abbiamo accennato alla possibilità
di utilizzare variabili globali. A chi ha esperienza di programmazione,
tale termine risulterà familiare e non avrà riscontrato difficoltà
a capire tutte le affermazioni fatte al riguardo. Chi invece si
accosta per la prima volta ad un linguaggio di programmazione deve
avere la pazienza di aspettare la prossima puntata del corso; la
prossima volta, infatti, tratteremo proprio delle regole di visibilità
delle variabili o, per usare un termine tecnico, scope.
Torna all'indice Generale del corso di Corso di PHP di Software Planet