Nessa aula você irá começar a compreender uma forma de persistência de dados muito utilizada para armazenar dados temporariamente, ou seja, como usar sessão em PHP . A maioria das linguagens de programação para web implementam essa funcionalidade e você poderá desfrutar dela sem problemas.
O primeiro conceito importante a ser trabalhado aqui são os Cookies. A maioria das pessoas já ouviu falar nos cookies, porém, não sabem definir direito por quê eles existem. Uma definição simples e rápida para os conceitos de cookie e sessão é:
Muitos apenas definem como “persistências temporárias” feitas no lado do usuário, e sessões são persistências dependentes de cookies, mas realizadas no lado do servidor.
Para que servem Cookies e Sessões?
O protocolo HTTP é Stateless, ou seja, ele não mantém um estado/conexão. Toda a interação que o seu cliente fizer com um servidor web acarretará em uma nova requisição e resposta. As requisições são independentes e possuem um tempo de vida (conexão, envio de mensagem, resposta, encerramento da conexão). O servidor web não é capaz de identificar se duas requisições vieram de um mesmo navegador, e o mesmo não faz nenhum gerenciamento em memória para que mensagens sejam compartilhadas entre requisições. É para suprir esta necessidade que entram os cookies e sessões.
Cookies
Através de cookies o servidor web é capaz de trocar informações de estado com o navegador do usuário. Desse modo, somos capazes de adicionar produtos a um carrinho de compras, sem perder estas informações ao mudar de página, sair do website ou até mesmo fechar o navegador. Tecnicamente falando, um cookie é uma pequena quantidade de informação persistida temporariamente pelo navegador. Os navegadores normalmente limitam o tamanho dos cookies em até 4KB, e apagam cookies com a data de “validade vencida”.
Exemplo de cookie em PHP
Para entender como essa troca de informação é feita, vamos criar um cookie com o PHP:
<?php // cookies.php if (isset($_COOKIE['cookie_teste'])) { echo 'Você JÁ passou por aqui!'; } else { echo 'Você NUNCA passou por aqui.'; setcookie('cookie_teste', 'Algum valor...', time() + 3600); } ?>
O código acima verifica se o cookie atendendo pelo identificador cookie_teste já existe, caso não exista, cria um cookie com identificador cookie_teste, valor Algum valor… e com 1 hora de vida (a hora atual mais 3600 segundos). Esse cookie é persistido pelo navegador e é possível de ser acessado nas configurações de request:
Sessões
Você quer se aprofundar nesse assunto? Acesse nosso curso completo aqui