DEV Community

Lithe
Lithe

Posted on

Gerenciamento de Sessões em PHP no Lithe: Da Configuração Básica ao Uso Avançado

Quando falamos de aplicações web, uma das primeiras necessidades é manter as informações do usuário enquanto ele navega pelas páginas. É aí que entra o gerenciamento de sessões no Lithe, permitindo que você armazene dados como informações de login ou preferências do usuário.

Instalação Simples e Rápida

Para começar a usar sessões no Lithe, você só precisa instalar o middleware de sessões via Composer. Basta rodar o seguinte comando no terminal dentro do seu projeto:

composer require lithemod/session
Enter fullscreen mode Exit fullscreen mode

Isso vai instalar tudo o que você precisa. Nada complicado, não é?

Configuração em Poucos Passos

Com o middleware instalado, você precisa configurá-lo no seu projeto. Mas não se preocupe, isso é bem fácil! Você simplesmente adiciona o middleware na sua aplicação usando o método use(). Veja um exemplo básico:

use function Lithe\Middleware\Session\session;

$app->use(session());
Enter fullscreen mode Exit fullscreen mode

Pronto! A sessão está configurada e pronta para ser usada. Se precisar ajustar alguns detalhes como a duração da sessão, o domínio, ou se o cookie só deve ser enviado por HTTPS, é só passar esses parâmetros na configuração:

$app->use(session([
    'lifetime' => 3600, // Sessão de 1 hora
    'secure' => true,   // Apenas em conexões seguras
    'httponly' => true, // Acessível só por HTTP
]));
Enter fullscreen mode Exit fullscreen mode

Trabalhando com Sessões: O Básico

Agora que tudo está configurado, vamos à prática. Você pode armazenar e recuperar informações da sessão facilmente nas rotas do Lithe. Por exemplo, para salvar o nome do usuário:

$app->get('/set-usuario', function ($req, $res) {
    $req->session->put('usuario', 'John Doe');
    return $res->send('Usuário salvo na sessão!');
});
Enter fullscreen mode Exit fullscreen mode

E para pegar o nome de volta:

$app->get('/get-usuario', function ($req, $res) {
    $usuario = $req->session->get('usuario', 'Usuário não encontrado');
    return $res->send('Usuário: ' . $usuario);
});
Enter fullscreen mode Exit fullscreen mode

Simples assim. O gerenciamento de sessões no Lithe é direto ao ponto.

Dicas para Usar Sessões de Forma Eficiente

  • Mantenha a sessão curta: Sessões longas podem ser um risco de segurança, então ajuste o lifetime com cuidado.
  • Sempre use HTTPS: Se a sua aplicação está em produção, certifique-se de usar secure => true para garantir que os cookies de sessão sejam transmitidos com segurança.
  • Limpeza de Sessão: Lembre-se de sempre remover dados da sessão que não são mais necessários para evitar sobrecarregar o armazenamento.

Além do Básico: Funções Avançadas

Se precisar de algo mais avançado, o Lithe também permite regenerar o ID da sessão para maior segurança, verificar se a sessão está ativa, ou até mesmo destruir a sessão inteira com facilidade:

$app->get('/destruir-sessao', function ($req, $res) {
    $req->session->destroy();
    return $res->send('Sessão destruída!');
});
Enter fullscreen mode Exit fullscreen mode

Essa flexibilidade garante que você tenha total controle sobre o estado da sessão e a experiência do usuário na sua aplicação.


Usar sessões no Lithe é uma tarefa simples e muito poderosa. Com apenas algumas linhas de código, você pode garantir que as informações dos seus usuários sejam mantidas de forma segura e eficiente ao longo da navegação.

Top comments (0)