Esse artigo faz parte da revista Clube Delphi Edição 92. Clique aqui para ler todos os artigos desta edição

<?php

  $a = "Olá Mundo!";

  echo "Mensagem principal: $a<br>\n";

  display_data();

 

function display_data(){

  echo "dados: $a<br>\n";

}

?>

 

Em primeiro lugar, $a é inicializada e exibida na tela. Então a função display_data é chamada, e tenta exibir $a novamente e o que temos é o resultamos a seguir:

 

Mensagem principal: Olá Mundo!

dados:

 

Como podemos observar display_data não consegue exibir nada, pois $a não está visível para ela. A variável $a foi inicializada no script principal e, portanto, não é visível para funções chamadas ele. Por este motivo, se desejarmos acessar $a em display_data, devemos então, declará-la como global assim como podemos ver na Listagem 2.

 

Listagem 2. Declaração de variável global                                                                 

<?php

  $a = "Olá Mundo!";

  echo "Mensagem principal: $a<br>\n";

  display_data();

  echo "Mensagem principal: $a<br>\n";

 

function display_data(){

  global $a;

  echo "dados: $a<br>\n";

  $a = "Olá Adriano";

}

?>

 

Com a ajuda da palavra-chave global, é possível ler e modificar qualquer variável global:

 

Mensagem principal: Olá Mundo!

dados: Olá Mundo!

Mensagem principal: Olá Adriano

 

Como podemos ver o conteúdo de $a pode ser modificado por display_data. Outro modo de acessar a variável seria utilizar um array chamado $GLOBALS como podemos ver na Listagem 3.

 

Listagem 3. Usando o array $GLOBALS                                                                     

<?php

  include("inc/vars.php");

  echo "Mensagem Principal: $a<br>\n";

  display_data();

 

function display_data(){

  echo "dados:".$GLOBALS["a"];

}

?>

...

Quer ler esse conteúdo completo? Tenha acesso completo