TransWikia.com

$_ possui algum significado em questão?

Stack Overflow em Português Asked by Problemático on December 30, 2021

Em “blocos de execução” vejo muito $_SESSION para validação de formulários e afins, mas não entendi muito bem o que exatamente significa.

3 Answers

As variáveis superglobais

Essas variáveis são superglobais, e como o próprio nome diz, o seu escopo é global, ou seja, elas podem ser acessíveis a partir de qualquer lugar do código. Em relação ao nome começar com $_ não tem um propósito, é só um padrão de nome para esse tipo de variável.

O PHP possui as seguintes variáveis superglobais:

  • $_POST: Contém os dados de uma requisição HTTP post.
  • $_GET: Contém os dados de uma requisição HTTP get.
  • $_SESSION: Armazena os dados da sessão.
  • $_COOKIE: Armazena os dados dos cookies.
  • $_FILES: Armazena as informações sobre um arquivo enviado via upload.
  • $_REQUEST: Armazena os dados de uma requisição, podendo ser post ou get.
  • $_SERVER: Contém informações do contexto e ambiente onde o script esta sendo executado.
  • $_ENV: Contém variáveis de ambiente colocadas através da função putenv. Os valores obtidos com $_ENV também podem ser obtidos pela função getenv.

Answered by raphael on December 30, 2021

Sempre que encontrar variáveis que começam com $_ significa que são variáveis super globais, ou seja, são variáveis especiais que podem ser usadas em qualquer parte do seu projeto, e cada uma delas tem uma função específica.

Por exemplo $_SESSION['exemplo'] cria uma sessão, $_GET pega os valores das variaveis da URL...etc...

Clique aqui para saber mais a respeito.

Answered by Alexandre Cardoso on December 30, 2021

Essas são variáveis pré-definidas, conforme consta na documentação. Elas são preenchidas pela máquina virtual de execução do PHP conforme o contexto de execução, então elas são como objetos internos expostas para seu código acessar.

É um modelo simples e útil, mas se fosse hoje duvido que a linguagem usaria algo assim, visto que a linguagem está em mutação para ser mais enterprise e menos de script, onde o contexto cabia.

Especificamente a $_SESSION guarda um código único que indica qual é a sessão ativa, assim é possível um script identificar que a chamada dele ainda faz parte de uma execução de uma mesma sessão de algum usuário e pode assim dar continuidade ao que fazia nas execuções anteriores. A web é stateless, então ela não guarda a situação entre uma chamada e outra, o seu código tem que lidar com isso, e um identificador de sessão é a forma de saber qual é a sessão, geralmente ela é passada entre o navegador e o servidor HTTP por cookies.

Outros cookies podem ser acessados pela variável $_COOKIE. Dados vindo do navegador podem ser pegos pelas $_GET, $_POST, e $_FILES para pegar arquivos sendo subidos, ou ainda $_SERVER para dados do ambiente de execução específico e da chamada, ou $_ENV para o ambiente geral

$_REQUEST é indiferente entre o get e post, e pode ser usado quando não importa a forma que veio a requisição.

Entre algumas outras, até com padrões um pouco diferentes, ainda tem a $GLOBALS para guardar valores acessíveis por toda execução do script (que costuma ser muito rápida).

Answered by Maniero on December 30, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP