Curso POO PHP Ámbito das variables
Ámbito das variables
En PHP podes utilizar variables en calquera lugar dun programa. Se esa variable aínda non existe, a primeira vez que se utiliza resérvase espazo para ela. Nese momento, dependendo do lugar do código en que apareza, decídese dende que partes do programa se poderá utilizar (visibilidade da variable).
Se a variable aparece por primeira vez dentro dunha función, dise que é unha variable local á función. Se aparece unha asignación a unha variable local fora da función, consideraráselle unha variable distinta.
As variables locais a unha función desparecen cando remata a función e o seu valor pérdese. Se quixeses manter o valor dunha variable local entre distintas chamadas á función, deberás declarar a variable como estática utilizando a palabra static. As variables estáticas deben iniciarse na mesma sentenza en que se declaran como estáticas. Desta forma, inícianse só a primeira vez que se chama á función.
As variables que aparecen por primeira vez fora dunha función chámanse variables globais. Para poder empregar unha variable global dentro dunha función, é preciso declarala previamente dentro da función empregando a palabra clave global. Desta forma PHP non crea unha nova variable local, senón que utiliza a xa existente. Outra opción é empregar o array asociativo $GLOBALS para acceder á variable global.
PHP inclúe unhas cantas variables internas predefinidas que poden usarse dende calquera ámbito, polo que reciben o nome de variables superglobais. Nin sequera é necesario que uses global para acceder a elas.
Cada unha destas variables é un array que contén un conxunto de valores. As variables superglobais dispoñibles en PHP son as seguintes:
- $_SERVER. Contén información sobre o ámbito do servidor web e de execución. Entre a información que nos ofrece esta variable, temos
Valor Contido $_SERVER['PHP_SELF'] guión que se está a executar actualmente $_SERVER['SERVER_ADDR'] dirección IP do servidor web $_SERVER['SERVER_NAME'] nome do servidor web $_SERVER['DOCUMENT_ROOT'] directorio raíz baixo o que se executa o guión actual $_SERVER['REMOTE_ADDR'] dirección IP do usuario $_SERVER['REQUEST_METHOD'] método utilizado para acceder á páxina ('GET', 'HEAD', 'POST' ou 'PUT')
- $_GET, $_POST e $_COOKIE conteñen as variables que se pasaron ao guión actual utilizando respectivamente os métodos HTTP GET (parámetros na URL), HTTP POST e Cookies HTTP.
- $_REQUEST xunta nun só o contido dos tres arrays anteriores, $_GET, $_POST e $_COOKIE.
- $_ENV contén as variables que se puidesen pasar a PHP dende o ámbito en que se executa.
- $_FILES contén os ficheiros que se puidesen subir ao servidor utilizando o método POST.
- $_SESSION contén as variables de sesión dispoñibles para o guión actual.
--Víctor Lourido 14:42 25 jun 2013 (CEST)