feeh27/session-encoder-decoder

PSR-7 Session support

1.0.1 2019-10-26 19:16 UTC

This package is auto-updated.

Last update: 2024-04-27 05:30:19 UTC


README

Essa biblioteca permite a codificação e decodificação dos dados das sessões PHP.

Build Status Code Coverage Scrutinizer Code Quality Code Intelligence Status

Packagist Version PHP Version Top Language Repo size License

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