feeh27/session-encoder-decoder

PSR-7 Session 支持

1.0.1 2019-10-26 19:16 UTC

This package is auto-updated.

Last update: 2024-08-27 06:18:02 UTC


README

这个库允许编码和解码PHP会话数据。

Build Status Code Coverage Scrutinizer Code Quality Code Intelligence Status

Packagist Version PHP Version Top Language Repo size License

要求

  • PHP 7.2 或更高版本
  • Composer

安装

建议通过 composer 安装

composer require feeh27/session-encoder-decoder

为什么使用这个库?

PHP原生的编码和解码会话功能存在一些限制,例如

  • session_encode()(编码)

    • 如果没有活跃的会话,则无法使用
    • 仅编码全局会话变量 $_SESSION 中的数据
    • 不接受解码数据时的参数
  • session_decode()(解码)

    • 如果没有活跃的会话,则无法使用
    • 不是返回解码后的值(数组),而是直接保存到全局会话变量 $_SESSION

使用该库

创建库的新实例

$session = new SessionEncoderDecoder\PSR7Session();

编码

$decodedData = [
    'user_id' => '389',
    'profile_id' => 27,
];

$encodedData = $session->encode($decodedData);

echo $encodedData; // 'user_id|s:3:"389";profile_id|i:27;'

解码

$encodedData = 'user_id|s:3:"389";profile_id|i:27;';

$decodedData = $session->encode($encodedData);

print_r($decodedData);
// Array
// (
//     [user_id] => 389
//     [profile_id] => 27
// )

源代码

这个库基于 psr7-sessions/session-encode-decode 库,并且似乎已经停止维护。

我对所有类进行了多次修改,以更好地适应我的场景,并相信其他人也会觉得它很有用。

该仓库的贡献者

Felipe Dominguesche - Linkedin