PHP définit et intialise automatiquement certaines variables en fonction du contexte d'utilisation. Ces valeurs sont généralement stockées dans des tableaux associatifs (ie des tables de hachage).

Le tableau $GLOBALS

Une alternative à l'utilisation d'un mot-clé global est l'utilisation du tableau $GLOBALS, automatiquement créé et mis à jour par PHP. Ce tableau contient une référence sur chacune des variable disponibles dans l'environnement global d'exécution. Les clés de ce tableau sont les noms des variables globales, et les valeurs associées sont les valeurs des variables globales.

Exemple : le tableau $GLOBALS

Nous pouvons reprendre l'exemple sur la portée des variables de la façon suivante :

Exemple : variable globale

Les superglobales

Vous remarquez que le tableau $GLOBALS n'a pas besoin d'être déclaré avec le mot clé global pour être utilisé dans une fonction. Il s'agit d'une variable superglobale. Les variables superglobales sont accessibles dans tout le script y compris les fonctions (ie elles existent dans tous les contextes).

PHP fournit différentes variables prédéfinies superglobales :

Superglobale URL

Ce sont les variables incluses dans l'URL de la page PHP. Ces variables peuvent provenir d'un formulaire utilisant la méthode GET, ou peuvent être passées directement par le développeur dans l'URL d'appel de la page. Les URL avec variables (ou paramètres) sont de la forme : lapage.php?Nom=piat&Prenom=françois

Toutes les fois qu'un paramètre est trouvé dans l'URL de la page, PHP va le stocker dans un tableau associatif superglobal appelé $_GET.

Exemple : variables GET

Superglobales de formulaire

Quand un formulaire HTML utilise la méthode POST pour l'envoi des valeurs saisies au serveur (ie à un script PHP), PHP génère automatiquement un tableau associatif superglobal appelé $_POST et contenant les zones du formulaire.

Exemple : variables POST

Superglobale cookie

PHP génère automatiquement un tableau associatif superglobal appelé $_COOKIE et contenant les cookies.

Le code suivant pose un cookie appelé Nom et ayant la valeur piat :
setcookie('Nom','piat') .
On retrouvera la valeur du cookie Nom dans $_COOKIE['Nom'].

Superglobales du serveur

On peut obtenir diverses informations sur l'environnement du serveur dans le tableau superglobal $_ENV.

Exemple : variables d'environnement

Des informations sur le serveur lui-même sont disponibles dans le tableau superglobal $_SERVER.

Exemple : variables serveur

Remarque : Parmi les variables serveurs, la plus utilisée est sans doute PHP_SELF qui représente le nom de la page elle-même.