Escopos de Variáveis ​​PHP

Resumo : neste tutorial, você aprenderá sobre escopos de variáveis ​​PHP, que especificam a parte do código que pode acessar uma variável.

Introdução aos escopos de variáveis ​​PHP

O escopo de uma variável determina qual parte do código pode acessá-la. Os locais onde a variável pode ser acessível determinam o escopo da variável.

No PHP, as variáveis ​​possuem quatro tipos de escopos:

  • Local
  • Global
  • Estático
  • Parâmetros de função

Variáveis ​​locais

Ao definir uma variável dentro de uma função , você só pode acessar essa variável dentro da função. E diz-se que a variável é local para a função.

O exemplo a seguir define a say()função que exibe a 'Hi'mensagem:

<?php

function say()
{
	$message = 'Hi';
	echo $message;
}Linguagem de código:  PHP  ( php )

Dentro da say()função, definimos a $messagevariável. A $messagevariável é uma variável local. E você não pode acessá-lo de fora da say()função.

Além disso, a $messagevariável só existe durante a execução da say()função. Assim que a say()função terminar, a $mesagevariável não existirá mais.

Variáveis ​​globais

Quando você declara uma variável fora de uma função, a variável é global. Isso significa que você pode acessar a variável em qualquer lugar do script, exceto dentro de uma função. Por exemplo:

<?php

$message = 'Hello';

function say()
{
	$message = 'Hi';
	echo $message;
}

echo $message; // HelloLinguagem de código:  PHP  ( php )

Neste script, temos duas variáveis ​​com o mesmo nome $message.

A primeira variável é a variável global porque a definimos fora de uma função. A $messagevariável que definimos dentro da função é a variável local. Embora essas variáveis ​​tenham o mesmo nome, são duas variáveis ​​diferentes.

PHP permite que você acesse uma variável global dentro de uma função usando a globalpalavra-chave. Por exemplo:

<?php

$message = 'Hello';

function say()
{
	global $message;
	echo $message; // Hello
}

say();Linguagem de código:  PHP  ( php )

Como funciona.

  • Primeiro, defina uma variável global chamada $message.
  • Segundo, faça referência à variável global $messagedentro da say()função.

É importante observar que não é uma boa prática usar variáveis ​​globais.

Variáveis ​​superglobais

O PHP possui uma lista de variáveis ​​integradas, conhecidas como variáveis ​​superglobais. As variáveis ​​superglobais fornecem informações sobre o ambiente do script PHP.

As variáveis ​​superglobais estão sempre disponíveis em todas as partes do script. A tabela a seguir mostra a lista de variáveis ​​superglobais do PHP:

Variáveis ​​Superglobais Significado
$GLOBAIS Retorna uma matriz que contém variáveis ​​globais. Os nomes das variáveis ​​são usados ​​para selecionar qual parte da matriz acessar.
$_SERVER Retorna dados sobre o ambiente do servidor web.
$_GET Retornar dados de GETsolicitações.
$_POST Retornar dados de POSTsolicitações.
$_COOKIE Retornar dados de cookies HTTP
$_FILES Retorna dados de uploads de arquivos POST.
$_ENV Retorne informações sobre o ambiente do script.
$_REQUEST Retornar dados da solicitação HTTP
$_SESSION Variáveis ​​de retorno registradas em uma sessão

Variáveis ​​estáticas

Uma variável estática retém seu valor entre chamadas de função. Além disso, uma variável estática só pode ser acessada dentro da função. Para definir uma variável estática, você usa a  staticpalavra-chave. Por exemplo:

<?php

function get_counter() {
    static $counter = 1;
    return $counter++;
}

echo get_counter() .  '<br>'; // 1
echo get_counter() .  '<br>'; // 2
echo get_counter() .  '<br>'; // 3Linguagem de código:  PHP  ( php )

Saída:

1
2
3Linguagem de código:  texto simples  ( texto simples )

Como funciona.

  • Primeiro, defina a get_counter() função com uma variável estática chamada $counter
  • Segundo, chame a set_counter() função três vezes. Como você percebe que o valor da $countervariável aumenta em um após cada chamada de função.

Parâmetros de função

Os parâmetros da função são locais para a função. Portanto, os parâmetros da função só podem ser acessíveis dentro da função. Por exemplo:

<?php 

function sum($items) {
    $total = 0;
    foreach($items as $item) {
        $total += $item;
    }
    return $total;
}

// $items cannot be accessible here
echo sum([10,20,30]);Linguagem de código:  PHP  ( php )

Neste exemplo, the $itemsé o parâmetro da sum()função. Só pode ser acessível dentro da sum()função.

Resumo

  • PHP tem quatro tipos de escopos de variáveis, incluindo parâmetros locais, globais, estáticos e de função.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *