Corso di PHP

Variabili d'ambiente di Php

 

Dopo aver visto le variabili fornite direttamente dal server web Apache dedicheremo questa lezione all’esame delle variabili d’ambiente 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 dall’ambiente stesso di programmazione. Il programmatore ne ha, tuttavia,  il completo controllo.

Le variabili d’ambiente, infatti, sono variabili importati in modo implicito all’interno del codice PHP dall’ambiente 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 all’interno 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 dell’utente 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 l’ambiente “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