feeh27 / session-encoder-decoder
PSR-7 Session support
1.0.1
2019-10-26 19:16 UTC
Requires
- php: ^7.2
Requires (Dev)
- phpunit/phpunit: ^8.4
This package is auto-updated.
Last update: 2024-10-27 06:44:13 UTC
README
Essa biblioteca permite a codificação e decodificação dos dados das sessões PHP.
Requisitos
- PHP 7.2 ou mais recente
- Composer
Instalação
É preferível que seja instalado via composer:
composer require feeh27/session-encoder-decoder
Por que utilizar essa biblioteca?
As funções nativas PHP de codificação e decodificação de sessões possui certas limitações, tais como:
-
session_encode()
(Codificação):- Não é possível utilizar caso não haja uma sessão ativa
- Codifica somente os dados presentes na variável global de sessão
$_SESSION
- Não aceita parâmetros com os dados decodificados
-
session_decode()
(Decodificação):- Não é possível utilizar caso não haja uma sessão ativa
- Ao invés de retornar o valor decodificado (array), salva diretamente na variável global de sessão
$_SESSION
Utilizando a biblioteca
Crie uma nova instância da biblioteca:
$session = new SessionEncoderDecoder\PSR7Session();
Codificando
$decodedData = [ 'user_id' => '389', 'profile_id' => 27, ]; $encodedData = $session->encode($decodedData); echo $encodedData; // 'user_id|s:3:"389";profile_id|i:27;'
Decodificando
$encodedData = 'user_id|s:3:"389";profile_id|i:27;'; $decodedData = $session->encode($encodedData); print_r($decodedData); // Array // ( // [user_id] => 389 // [profile_id] => 27 // )
Fontes
Essa biblioteca foi baseada na biblioteca psr7-sessions/session-encode-decode
e que por algum parece que foi descontinuada.
Fiz diversas modificações em todas as suas classes para adequar melhor ao meu cenário e acredito que outras pessoas também a acharão útil.
Contribuidores desse repositório
Felipe Dominguesche - Linkedin