DEV Community

Lithe
Lithe

Posted on

1 1

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.

Heroku

Built for developers, by developers.

Whether you're building a simple prototype or a business-critical product, Heroku's fully-managed platform gives you the simplest path to delivering apps quickly — using the tools and languages you already love!

Learn More

Top comments (0)

AWS Security LIVE!

Join us for AWS Security LIVE!

Discover the future of cloud security. Tune in live for trends, tips, and solutions from AWS and AWS Partners.

Learn More

👋 Kindness is contagious

Engage with a wealth of insights in this thoughtful article, valued within the supportive DEV Community. Coders of every background are welcome to join in and add to our collective wisdom.

A sincere "thank you" often brightens someone’s day. Share your gratitude in the comments below!

On DEV, the act of sharing knowledge eases our journey and fortifies our community ties. Found value in this? A quick thank you to the author can make a significant impact.

Okay