PHP proporciona una gran cantidad de variables predefinidas a
cualquier script que se ejecute_ De todas formas, muchas de esas
variables no pueden estar completamente documentadas ya que
dependen de sobre qué servidor se esté ejecutando, la
versión y configuración de dicho servidor, y otros
factores_ Algunas de estas variables no estarán disponibles
cuando se ejecute PHP desde la línea de
comandos_Para obtener una lista de estas variables podeis
consultar la sección Variables predefinidas
reservadas_
Aviso
A partir de PHP 4_2_0, el valor por defecto de la directiva PHP
register_globals es
off (desactivada)_ Este es un cambio
importante en PHP_ Teniendo register_globals
off afecta el conjunto de variables
predefinidas disponibles en el sistema_ Por ejemplo, para obtener
DOCUMENT_ROOT se usará
$_SERVER['DOCUMENT_ROOT'] en vez de
$DOCUMENT_ROOT ó $_GET['id']
de la URL http://www_example_com/test_php?id=3
en vez de $id ó
$_ENV['HOME'] en vez de
$HOME_
Para más información sobre este cambio, podeis consultar el
apartado de configuración sobre register_globals, el
capítulo sobre seguridad Usando "Register Globals"
, asi como los anuncios de lanzamiento de PHP 4_1_0 y 4_2_0
El uso de las variables reservadas predefinidas en PHP, como matrices
superglobales es recomendable_
A partir de PHP 4_1_0, PHP ofrece un conjunto adicional de matrices
predefinidas, conteniendo variables del servidor web, el entorno y
entradas del usuario_ Estas nuevas matrices son un poco especiales
porque son automáticamente globales_ Por esta razón, son conocidas a
menudo como "autoglobales" ó "superglobales"_ Las superglobales se
mencionan más abajo; sin embargo para una lista de sus contenidos y
más información sobre variables predefinidas en PHP, consultar la
sección Variables predefinidas
reservadas_ Podreis ver como las variables predefinidas
antiguas ($HTTP_*_VARS) todavía existen_
A partir de PHP 5_0_0, las
matrices de tipo "long" de variables
predefinidas, se pueden desactivar con la directiva register_long_arrays_
Variables variables:
Las superglobales no pueden usarse como variables variables_
Si ciertas variables no son definidas en variables_order, las matrices
PHP predefinidas asociadas a estas, estarán vacias_
Contiene una referencia a cada variable disponible en el
espectro de las variables del script_ Las llaves de esta matriz
son los nombres de las variables
globales_ $GLOBALS existe dese PHP 3_
Variables definidas por el servidor web ó directamente
relacionadas con el entorno en don el script se esta
ejecutando_ Análoga a la antigua matriz
$HTTP_SERVER_VARS (la cual está todavía
disponible, aunque no se use)_
Variables proporcionadas al script por medio de HTTP GET_
Análoga a la antigua matriz $HTTP_GET_VARS
(la cual está todavía disponible, aunque no se use)_
Variables proporcionadas al script por medio de HTTP POST_
Análoga a la antigua matriz $HTTP_POST_VARS
(la cual está todavía disponible, aunque no se use)_
Variables proporcionadas al script por medio de HTTP cookies_
Análoga a la antigua matriz $HTTP_COOKIE_VARS
(la cual está todavía disponible, aunque no se use)_
Variables proporcionadas al script por medio de la subida de
ficheros via HTTP _ Análoga a la antigua matriz
$HTTP_POST_FILES (la cual está todavía
disponible, aunque no se use)_ Vea también Subiendo ficheros por
método POST para más información_
Variables proporcionadas al script por medio del entorno_
Análoga a la antigua matriz $HTTP_ENV_VARS
(la cual está todavía disponible, aunque no se use)_
Variables proporcionadas al script por medio de cuaquier
mecanismo de entrada del usuario y por lo tanto no se puede
confiar en ellas_ La presencia y el orden en que aparecen las
variables en esta matriz es definido por la directiva de
configuración variables_order_ Esta
matriz no tiene un análogo en versiones anteriores a PHP
4_1_0_ Vea también
import_request_variables()_
Nota:
Cuando se utiliza la linea
de comandos, argv y
argcno son incluidas
aquí; estas variables se podrán encontrar en la matriz
Variables registradas en la sesión del script_ Análoga a la
antigua matriz $HTTP_SESSION_VARS (la cual
está todavía disponible, aunque no se use)_ Vea también la
sección Funciones para el manejo de
sessiones para más información_