Las variables en PHP mantienen una serie de caracteristicas referentes a:
- Conceptos básicos
- Variables predefinidas
- Ámbito de una variable
- Variables variables
- Variables Externas a PHP
Conceptos básicos
Los conceptos a tener en cuenta en PHP con las variables son los siguientes:- Cualquier nombre de variable está precedido por el símbolo $.
- En PHP las variables siempre se asignan por valor, aunque en PHP4 ya existen métodos para asignaciones por referencia (&).
Variables predefinidas
En PHP cada vez que se ejecuta un script, existen variables que se crean y que nos pueden informar del entorno en el que se está ejecutando dicho script.Para obtener una lista de todas estas variables predefinidas se puede utilizar la funcion phinfo().
De todas estas variables, algunas se crean dependiendo del servidor que se esté utilizando y otras son propias de PHP.
Si se tratara de un servidor Apache, la lista de variables es:
- GATEWAY_INTERFACE:
- SERVER_NAME
- SERVER_SOFTWARE
- SERVER_PROTOCOL
- REQUEST_METHOD
- QUERY_STRING
- DOCUMENT_ROOT
- HTTP_ACCEPT
- HTTP_ACCEPT_CHARSET
- HTTP_ENCODING
- HTTP_ACCEPT_LANGUAJE
- HTTP_CONNECTION
- HTTP_HOST
- HTTP_REFERER
- HTTP_USER_AGENT
- REMOTE_ADDR
- REMOTE_PORT
- SCRIPT_FILENAME
- SERVER_ADMIN
- SERVER_PORT
- SERVER_SIGNATURE
- PATH_TANSLATED
- SCRIPT_NAME
- REQUEST_URL
- argv
- argc
- PHP_SELF
- HTTP_COOKIE_VARS
- HTTP_GET_VARS
- HTTP_POST_VARS
Ámbito de una Varible
El ámbito de una variable en PHP es exactamente igual que en C o en Perl tomando siempre en cuenta los ficheros incluidos al principio de cada programa.Varibles variables
PHP permite un mecanismo para mantener variables con un nombre no fijo.Por ejemplo:
$a = "hola";
$$a = "mundo";
El ejemplo anterior, define dos variables, una denominada $a que contiene el valor "hola" y otra que se llama $hola que contiene el valor "mundo" $$a = "mundo";
Para acceder al valor de una variable, se accede con:
echo "$a ${$a}";
ó echo "$a ${$a}";
Algo que se debe tener en cuenta cuando se utilizan variables, es que hay que resolver la ambiguedad que se crea al utilizar arrays de variables de este tipo. Por ejemplo $$a[1] provoca una ambiguedad para el intérprete, puesto que no sabe si se desea utilizar la variable denominada $a[1] o utilizar la variables $a indexandola en su primer valor. Para esto se utiliza una sintaxis especial que sería ${$a[1]} o ${$a}[1] según se desee una opción u otra.
Variables extenas a PHP
Variables de los forms HTML
Cuando existe un form en HTML, inmediatamente después de ser enviado, dentro del ámbito PHP se crean automáticamente una variable por cada uno de los objetos que contiene el form.Si se activa la directiva <?php_track_vars?> o con la variable track_vars todo lo enviado por los métodos POST y GET estará en las variables $HTTP_POST_VARS y $HTTP_GET_VARS.
Cookies HTML
La función SetCookie() es una función PHP para asignar Cookies a un ordenador cliente. Esta función se debe llamar siempre antes de comenzar a crear la página puesto que debe formar parte de la cabecera de HTML.Cualquier Cookie que se envía a un cliente, se convierte dentro de PHP en una variable.Par añadir valores a una cookie se utilizan los corchetes, [], por ejemplo:
$count++;
setCookie("count", $count;, time()+3600);
SetCookie("Visita[$count]", "$valor",time()+3600);
Este ejemplo mantiene dos Cookies en el cliente. La primera mantiene el contador count y la segunda contiene una lista de los comentarios de cada una de las veces que se ha actualizado la cookie, Visita. setCookie("count", $count;, time()+3600);
SetCookie("Visita[$count]", "$valor",time()+3600);