Variables predefinidas
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.
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 https://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.
Note: 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.
-
PHP superglobales
- $GLOBALS
- 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.
- $_SERVER
- 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).
- $_GET
- 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).
- $_POST
- 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).
- $_COOKIE
- 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).
- $_FILES
- 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.
- $_ENV
- 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).
- $_REQUEST
-
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().
Note: Cuando se utiliza la linea de comandos, argv y argc no son incluidas aquÃ; estas variables se podrán encontrar en la matriz
- $_SESSION
- 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.