Escopo das Variáveis em PHP

Escopo de variaveis em PHPO que é escopo de variáveis?  O escopo de uma variável é o contexto onde ela foi definida. A maior parte das variáveis do PHP tem somente escopo local.

O PHP possui quatro diferentes escopos de variáveis

  • local – Declarada dentro da função e apenas visível dentro da função
  • global – Declarada fora de qualquer função e acessada de qualquer lugar (dentro de funções usando “global $var”)
  • static – Igual a variável local, mas mantém seu valor depois que a função é encerrada.
  • parameter – Igual a variável local, mas com seus valores passados como argumentos para a função.

Variável local:

A variável local restringir o acesso, podendo acessar a variável somente local.

<?php
$a = 5; // local
echo $a;
?>

Variável global:

A variável global pode ser lida e alterada em qualquer lugar em seu script.


Para acessar uma variável global fora de uma função, basta escrever o nome da variável. Para acessar uma variável global dentro de uma função, no entanto, primeiro você precisa declarar a variável como global dentro da função usando a palavra-chave global:

<?php
$a = 5; // Global
function teste() {
global $a;
echo $a; // Global
}
teste();
?>

Exemplo utilizando variável local e global.

<?php
$globalName = “Administração”;
function Curso() {
$localName = “PHP”;
echo “Curso, $localName!<br>”;
global $globalName;
echo “Curso, $globalName!<br>”;
}
Curso();
?>

 

Variável estática:

Ao  cria uma variável local dentro de uma função, essa variável só existe enquanto a função está sendo executada. Quando a função acaba, a variável local desaparece. Quando a função é chamada novamente, uma nova variável local é criada.
Isto garante que as suas funções são autossuficientes, e que elas funcionam na mesma maneira toda vez que forem chamadas.
No entanto, existem situações onde é útil criar uma variável local que mantém o mesmo valor entre cada chamada da função. É exatamente assim que funcionam as variáveis estáticas.
Para criar uma variável estática, você deve escrever a palavra-chave static antes do nome da variável e atribuir um valor inicial para a variável.

function cursosCriados() {
static $variavel = 0;
}

Vejamos uma situação onde as variáveis estáticas são úteis. Digamos que você tenha criado uma função que cria cursos, e retorna o número de cursos criado até então. Você pode tentar fazer isto com variável local:

<?php

function cursosCriados() {
$numCursos = 0;
return ++$numCursos;
}

echo “Criando alguns cursos…<br>”;
echo cursosCriados() . ” curso criado até agora.<br>”;
echo cursosCriados() . ” curso criado até agora.<br>”;
echo cursosCriados() . ” curso criado até agora.<br>”;

?>

 

Com a variável estática obtemos o valor da variável e mantém o valor da mesma.

Connect And Share