Nesta aula estudaremos o escopo de variáveis definidas em funções, bem como os vários conceitos envolvidos. |
FUNÇÕES E O ESCOPO DE VARIÁVEIS
As funções em PHP possuem seu escopo restrito de forma a tornar o bloco de instrução da função isolado. Temos que de dentro de uma função, não existe visibilidade das variáveis definidas no script.
Todas as variáveis que são declaradas no corpo de um arquivo possuem escopo global, isto é, podem ser acessadas de qualquer parte do código. Já, as variáveis declaradas dentro de uma função, não serão visíveis externamente da mesma maneira que não é possível acessar as variáveis de escopo global de dentro de uma função.
Em PHP temos diversos escopos e iremos no decorrer do curso estudar cada um deles.
- Escopo global
- Escopo de funções
- Escopo de classes
- Escopo de namespace
ESCOPO DE FUNÇÃO
O primeiro nível de escopo é o escopo de variáveis. É comum chamarmos o escopo de funções como escopo local, logo, tudo que for declarado dentro de uma função será desalocado no momento em que está finalizar a execução.
function funcEstudo(){
$valor1 = 10;
$valor2 = 16;
$total = $valor1 + $valor2;
}
funcEstudo();
echo $total;
O código acima se executado, levantará uma exceção dizendo que a variável $total não existe. Então, como regra geral, tudo que acontecer dentro de uma função será finalizado com esta.
$x = 'Fala'; // global $x
function funcaoX()
{
global $x;
$x .= ' galera!!!';
echo $x;
}
funcaoX();
Uma outra forma de acesso a variável $x é utilizando o array $GLOBALS.
$GLOBALS['x'] .= ' World'; // change global $x
AS VARIÁVEIS NÃO SÃO DESTRUÍDAS AO TÉRMINO DO BLOCO DE INSTRUÇÃO!!! ALTERAR VÍDEO AULA!!
EXEMPLO FEITO EM AULA
$testando = 10;
$a = 10;
$b = 5;
function estudoEscopo(){
echo $GLOBALS["a"];
}
estudoEscopo();
print_r($GLOBALS);
Tags curso, php
Comentários
comments powered by Disqus