Superglobais do PHP são variáveis integradas que podem ser acessadas de todos os escopos.
PHP Super Globais (PHP Super Globals)
Nesta lição, explicaremos todos os superglobais em PHP com exemplos. Continue lendo para descobrir.
PHP Super Globais: $GLOBALS
O superglobal $GLOBALS é usado para acessar variáveis globais de qualquer campo (incluindo funções ou métodos) no script PHP. O PHP armazena todas as variáveis globais em um array chamado $GLOBALS[index]. O índice contém o nome da variável. O exemplo a seguir mostra como usar a variável superglobal $GLOBALS:
$number1 = 50;
$number2 = 20;
function addition(): int
{
return $GLOBALS[ 'number3' ] = $GLOBALS[ 'number2' ] + $GLOBALS[ 'number1' ];
}
echo addition();
// Çıktı: 70PHP Super Globais: $_REQUEST
PHP $_REQUEST é PHP superglobal usado para coletar dados de formulário HTML.
<!DOCTYPE html>
<html>
<body>
<form method="post" action="<?php
echo $_SERVER[ 'PHP_SELF' ]; ?>">
Name: <input type="text" name="fname">
<input type="submit">
</form>
<?php
if ($_SERVER[ 'REQUEST_METHOD' ] === 'POST') {
// input elementinden gelen veriyi değişkene ata
$name = htmlspecialchars($_REQUEST[ 'fname' ]);
if (empty($name)) {
echo 'Ad yok';
} else {
echo $name;
}
}
?>
</body>
</html>No exemplo acima, criamos um formulário que retorna dados com o método post. Habilitamos ele para retornar os dados na mesma página com $_SERVER['PHP_SELF']. Verificamos que a solicitação que vem com a superglobal $_SERVER['REQUEST_METHOD'] é uma solicitação de postagem. Em seguida, atribuímos com segurança os dados da entrada chamada fname com o valor do nome à variável $name com o superglobal $_REQUEST usando a função htmlspecialchars(). Verificamos se a variável $name está vazia ou não com a condição if do PHP. Se estiver vazio, imprimimos a saída "No name", caso contrário imprimimos os dados da variável $name.
PHP Super Globais: $_POST
PHP $_POST é uma superglobal PHP usada para coletar dados do formulário HTML por meio do método POST.
<!DOCTYPE html>
<html>
<body>
<form method="post" action="<?php
echo $_SERVER[ 'PHP_SELF' ]; ?>">
Name: <input type="text" name="fname">
<input type="submit">
</form>
<?php
if ($_SERVER[ 'REQUEST_METHOD' ] === 'POST') {
// input elementinden gelen veriyi değişkene ata
$name = htmlspecialchars($_POST[ 'fname' ]);
if (empty($name)) {
echo 'Ad yok';
} else {
echo $name;
}
}
?>
</body>
</html>No exemplo acima, criamos um formulário que retorna dados com o método post. Habilitamos ele para retornar os dados na mesma página com $_SERVER['PHP_SELF']. Verificamos que a solicitação que vem com a superglobal $_SERVER['REQUEST_METHOD'] é uma solicitação de postagem. Em seguida, atribuímos com segurança os dados da entrada chamada fname com o valor do nome à variável $name com o superglobal $_POST usando a função htmlspecialchars(). Verificamos se a variável $name está vazia ou não com a condição if do PHP. Se estiver vazio, imprimimos a saída "No name", caso contrário imprimimos os dados da variável $name.
PHP Super Globais: $_GET
PHP $_GET é uma superglobal PHP usada para coletar dados do formulário HTML por meio do método GET. Também podemos recuperar os dados enviados com get na url com o superglobal $_GET.
Obtendo dados do formulário com PHP $_GET Super Global
No exemplo abaixo, recebemos dados do formulário HTML com a superglobal PHP $_GET.
<!DOCTYPE html>
<html>
<body>
<form method="post" action="<?php
echo $_SERVER[ 'PHP_SELF' ]; ?>">
Name: <input type="text" name="fname">
<input type="submit">
</form>
<?php
if ($_SERVER[ 'REQUEST_METHOD' ] === 'GET') {
// input elementinden gelen veriyi değişkene ata
$name = htmlspecialchars($_GET[ 'fname' ]);
if (empty($name)) {
echo 'Ad yok';
} else {
echo $name;
}
}
?>
</body>
</html>No exemplo acima, criamos um formulário que retorna dados com o método post. Habilitamos ele para retornar os dados na mesma página com $_SERVER['PHP_SELF']. Verificamos que a solicitação que vem com a superglobal $_SERVER['REQUEST_METHOD'] é uma solicitação de postagem. Em seguida, atribuímos com segurança os dados da entrada chamada fname com o valor do nome à variável $name com o superglobal $_POST usando a função htmlspecialchars(). Verificamos se a variável $name está vazia ou não com a condição if do PHP. Se estiver vazio, imprimimos a saída "No name", caso contrário imprimimos os dados da variável $name.
Obtendo dados de URL com PHP $_GET Super Global
No exemplo abaixo, recuperamos dados da URL com o superglobal $_GET do PHP.
<!DOCTYPE html>
<html>
<body>
<a href="<?php
echo $_SERVER[ 'PHP_SELF' ] ?>?name=Onur%20Özden&website=www.onurozden.com.tr">Buraya Tıkla</a>
<?php
echo "Ben " . $_GET[ 'name' ] . " şu sitede PHP öğreniyorum: " . $_GET[ 'website' ];
?>
</body>
</html>No exemplo acima, em vez de digitar o nome do arquivo, obtivemos o nome do arquivo usando a superglobal $_SERVER. Agora vamos explicar o que fizemos neste exemplo. Criamos um documento HTML e atribuímos o parâmetro name ao arquivo get.php. Atribuímos ao parâmetro de nome o valor "Onur Özden" e separamos os parâmetros com o sinal '&'. Em seguida, criamos o parâmetro website e atribuímos a ele o valor “onurozden.com.tr”. Imprimimos o texto “Clique Aqui” no rótulo A. Chegando à parte do PHP, imprimimos “Meu nome” com echo e usamos a superglobal $_GET com o operador de concatenação para recuperar e imprimir os dados do parâmetro chamado nome. Novamente, usando o operador merge, imprimimos "e meu site". Usamos novamente o operador de concatenação e pegamos os dados do parâmetro website com a superglobal $GET e imprimimos.
PHP Super Globais: $_SERVER
A superglobal $_SERVER é uma variável superglobal do PHP que contém informações sobre cabeçalhos, caminhos e locais de script. No exemplo abaixo, mostramos como usar a superglobal $_SERVER.
echo $_SERVER['PHP_SELF'];
echo '</br>';
echo $_SERVER['SERVER_NAME'];
echo '</br>';
echo $_SERVER['HTTP_HOST'];
echo '</br>';
echo $_SERVER['HTTP_REFERER'];
echo '</br>';
echo $_SERVER['HTTP_USER_AGENT'];
echo '</br>';
echo $_SERVER['SCRIPT_NAME'];No exemplo acima, definimos variáveis chamadas $número1 e $número2 e atribuímos a elas valores do tipo número. Em seguida, definimos uma função chamada adição que retorna um valor do tipo de dados int. Dissemos que na superglobal $GLOBALS os nomes das variáveis são mantidos como índices. Criamos a variável criando um índice chamado number3. Atribuímos a esta variável a soma da variável $number2 e da variável $number1, que acessamos da área global com a superglobal $GLOBALS. Em seguida, retornamos esse valor com return e encerramos a função. Como última etapa, geramos o valor em nossa função add() com echo.
Todos os usos do PHP $_SERVER Super Global
| $_SERVER['PHP_SELF'] | Retorna o nome do arquivo do script executado. |
| $_SERVER['GATEWAY_INTERFACE'] | Retorna a versão CGI (Common Gateway Interface) usada pelo servidor. |
| $_SERVER['SERVER_ADDR'] | Retorna o endereço IP do servidor host. |
| $_SERVER['SERVER_NAME'] | Retorna o nome do servidor principal. |
| $_SERVER['SERVER_SOFTWARE'] | Retorna o texto de identificação do servidor (como Apache/2.2.24). |
| $_SERVER['SERVER_PROTOCOL'] | Retorna o nome e a versão do protocolo de informações (como HTTP/1.1). |
| $_SERVER['REQUEST_METHOD'] | Retorna o método de solicitação usado para acessar a página (como POST, GET). |
| $_SERVER['REQUEST_TIME'] | Retorna o carimbo de data/hora do início da solicitação (por exemplo, 1377687496). |
| $_SERVER['QUERY_STRING'] | Se a página for acessada por meio de uma string de consulta, ela retornará a string de consulta. |
| $_SERVER['HTTP_ACCEPT'] | Retorna o cabeçalho de aceitação da solicitação atual. |
| $_SERVER['HTTP_ACCEPT_CHARSET'] | Retorna o cabeçalho Accept_Charset da solicitação atual (como utf-8,ISO-8859-1). |
| $_SERVER['HTTP_HOST'] | Retorna o cabeçalho do host da solicitação atual. |
| $_SERVER['HTTP_REFERER'] | Retorna a URL completa da página atual (não confiável, pois nem todos os agentes de usuário a suportam). |
| $_SERVER['HTTPS'] | Verifica se o script é consultado por meio de um protocolo HTTP seguro (HTTPS). |
| $_SERVER['REMOTE_ADDR'] | Retorna o endereço IP do qual o usuário está visualizando a página atual. |
| $_SERVER['REMOTE_HOST'] | Retorna o nome do host de onde o usuário está visualizando a página atual. |
| $_SERVER['REMOTE_PORT'] | Retorna a porta utilizada na máquina do usuário para comunicação com o servidor web. |
| $_SERVER['SCRIPT_FILENAME'] | Retorna o caminho absoluto do script atualmente em execução. |
| $_SERVER['SERVER_ADMIN'] | Retorna o valor dado à diretiva SERVER_ADMIN no arquivo de configuração do servidor web (se o seu script estiver rodando em um host virtual, será o valor definido para esse host virtual) (como some@onurozden.com.tr). |
| $_SERVER['SERVER_PORT'] | Retorna a porta na máquina servidora usada pelo servidor web para comunicação (como 80). |
| $_SERVER['SERVER_SIGNATURE'] | Retorna a versão do servidor e o nome do host virtual adicionados à página gerada pelo servidor. |
| $_SERVER['PATH_TRANSLATED'] | Retorna o caminho baseado no sistema de arquivos para o script atual. |
| $_SERVER['SCRIPT_FILENAME'] | Retorna o caminho para o script atual. |
| $_SERVER['SCRIPT_URI'] | Retorna o URI da página atual. |



