PHP fourni un grand nombre de variables pré-définies. Cependant, beaucoup de ces variables ne peuvent pas être présentées ici, car elles dépendent du serveur sur lequel elles tournent, de la version et de la configuration du serveur ou encore d'autres facteurs. Certaines de ces variables ne seront pas accessibles lorsque PHP fonctionne en exécutable.
Avertissement |
Depuis la version PHP 4.2.0, la valeur par défaut de la directive PHP
register_globals est
off. Ceci est une évolution majeure de PHP.
Avoir la directive
Pour des informations liées à cette évolution, lisez la documentation de la
directive L'utilisation des variables pré-définies de PHP, comme les tableaux superglobaux, est recommandée. |
Depuis la version 4.1.0, PHP fournit un jeu de tableaux
pré-définis, contenant les variables du serveur (si possible), les
variables d'environnement et celle d'entrées. Ces nouveaux tableaux
sont un peu particuliers, car ils sont automatiquement globaux :
ils sont automatiquement disponibles dans tous les environnements
d'exécution, sans avoir à utiliser le mot réservé global.
Pour cette raison, ils sont dits 'auto-globaux' ou bien encore
'superglobaux' (il n'y a pas de mécanisme PHP pour créer de telles
variables. Les superglobales sont listées ci-dessous. Cependant, pour
connaître le détails de leur contenu et une présentation approfondie
sur les variables pré-définies PHP et leur nature, reportez-vous
à la section variables pré-définies.
De plus, vous noterez que les anciennes variables pré-définies
($HTTP_*_VARS
) existent toujours.
Depuis PHP 5.0.0, les tableaux prédéfinis PHP peuvent
être désactivés avec l'option de configuration register_long_arrays.
Variables variables : Les superglobales ne peuvent pas être utilisées comme variables dynamiques dans les fonctions ou les méthodes des classes.
Note : Même si les superglobales et HTTP_*_VARS peuvent exister en même temps, elles ne sont pas identiques, donc, le changement d'une ne changera pas l'autre.
Si certaines variables de
variables_order
ne sont pas définies, leur tableau pré-défini PHP correspondant est laissé vide.
Tableaux superglobaux de PHP
Contient une référence sur chaque variable qui est en fait disponible
dans l'environnement d'exécution global. Les clés de ce tableau sont les
noms des variables globales.
$GLOBALS
existe depuis PHP 3.
Les variables fournies par le serveur web, ou bien directement
liées à l'environnement d'exécution du script courant. C'est
la nouvelle version de l'ancienne variable $HTTP_SERVER_VARS
,
qui est maintenant obsolète, mais toujours là.
Les variables fournies au script via la chaîne de requête URL.
C'est la nouvelle version de l'ancienne variable
$HTTP_GET_VARS
qui est maintenant obsolète, mais toujours là.
Les variables fournies par le protocole HTTP en méthode POST.
C'est la nouvelle version de l'ancienne variable
$HTTP_POST_VARS
qui est maintenant obsolète, mais toujours là.
Les variables fournies par le protocole HTTP, dans les cookies.
C'est la nouvelle version de l'ancienne variable
$HTTP_COOKIE_VARS
qui est maintenant obsolète, mais toujours là.
Les variables fournies par le protocole HTTP, suite à un téléchargement de fichier.
C'est la nouvelle version de l'ancienne variable
$HTTP_POST_FILES
qui est maintenant obsolète, mais toujours là. Voir
Téléchargement par méthode POST,
pour plus d'informations.
Les variables fournies par l'environnement.
C'est la nouvelle version de l'ancienne variable
$HTTP_ENV_VARS
qui est maintenant obsolète, mais toujours là.
Les variables fournies au script par n'importe quel mécanisme d'entrée
et qui ne doivent recevoir qu'une confiance limitée. Note : lorsque
vous exécutez un script en ligne de commande, cette variable ne
va pas inclure les variables argv
et argc
. Elles seront présentes dans la variable
$_SERVER
. La présence et la valeur des entrées
de ce tableau sont réglés par la directive
variables_order. Ce tableau
n'est l'évolution d'aucune variable d'avant PHP 4.1.0.
Attention |
Depuis PHP 4.3.0, les informations de la variable |
Note : En ligne de commande, cette variable n'inclut pas les variables
argv
etargc
: elles sont stockées dans le tableau$_SERVER
.
Les variables qui sont en fait enregistrées dans la session attachée
au script. C'est la nouvelle version de l'ancienne variable
$HTTP_SESSION_VARS
.
Voir le chapitre sur la gestion des sessions
pour plus d'informations.
Précédent | Sommaire | Suivant |
Les variables | Niveau supérieur | Portée des variables |