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.

Billboard image

Deploy and scale your apps on AWS and GCP with a world class developer experience

Coherence makes it easy to set up and maintain cloud infrastructure. Harness the extensibility, compliance and cost efficiency of the cloud.

Learn more

Top comments (0)

Image of Docusign

🛠️ Bring your solution into Docusign. Reach over 1.6M customers.

Docusign is now extensible. Overcome challenges with disconnected products and inaccessible data by bringing your solutions into Docusign and publishing to 1.6M customers in the App Center.

Learn more