https://github.com/psr7-sessions/session-encode-decode
:lock_with_ink_pen: Utility classes for encode/decode PHP's default session data
https://github.com/psr7-sessions/session-encode-decode
middleware php psr-7 session
Last synced: 5 months ago
JSON representation
:lock_with_ink_pen: Utility classes for encode/decode PHP's default session data
- Host: GitHub
- URL: https://github.com/psr7-sessions/session-encode-decode
- Owner: psr7-sessions
- License: mit
- Archived: true
- Created: 2017-01-10T21:03:33.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2018-10-26T06:32:14.000Z (over 6 years ago)
- Last Synced: 2024-08-04T09:07:50.445Z (9 months ago)
- Topics: middleware, php, psr-7, session
- Language: PHP
- Homepage:
- Size: 30.3 KB
- Stars: 22
- Watchers: 5
- Forks: 7
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
:lock_with_ink_pen: PSR7Session encoder/decoder
============================[](https://travis-ci.org/psr7-sessions/session-encode-decode)
[](https://scrutinizer-ci.com/g/psr7-sessions/session-encode-decode/?branch=master)
[](https://scrutinizer-ci.com/g/psr7-sessions/session-encode-decode/?branch=master)This library provides a way to encode and decode default session data.
### Installation
The suggested installation method is via [composer](https://getcomposer.org/):
```
composer require psr7-sessions/session-encode-decode
```### Why this library?
PHP's native `session_encode()` and `session_decode()` functions has some limitations:
- session_decode()
- Can't be used if there's no session active
- Populates the super global `$_SESSION` variable automatically- session_encode()
- Do not accept parameters, so you can't use it to encode the content you want.
- Depends on `$_SESSION` global state### Encoding
```php
(new PSR7SessionEncodeDecode\Encoder())->__invoke(['counter' => 2]); // 'counter|i:2;'
```### Decoding
```php
(new PSR7SessionEncodeDecode\Decoder())->__invoke('counter|i:2;'); // ['counter' => 2]
```