PHPackages                             devfake/rese - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. devfake/rese

AbandonedArchivedLibrary

devfake/rese
============

Write your php sessions in a more readable way.

910PHP

Since May 18Pushed 11y ago1 watchersCompare

[ Source](https://github.com/devfake/rese)[ Packagist](https://packagist.org/packages/devfake/rese)[ RSS](/packages/devfake-rese/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Readable Session Helper
=======================

[](#readable-session-helper)

**Write your php sessions in a more readable way. Great for multidimensional sessions.**

Extracted from [vume](https://github.com/devfake/vume) framework.

### Get started

[](#get-started)

Check the [example](https://github.com/devfake/Readable-Session-Helper/blob/master/example.php) file.

##### Requirements

[](#requirements)

- PHP 5.3+
- Composer

##### Install

[](#install)

The easiest way to install Rese is via [Composer](https://getcomposer.org/). Add this to your `composer.json` file and run `$ composer update`:

```
{
  "require": {
    "devfake/rese": "dev-master"
  }
}
```

**Create a helper function (if you like):**

```
function session($keys = null)
{
  return new Devfake\Rese\Session($keys, '.');
}
```

**Working with the new helper:**

```
// $_SESSION
session()->get();

// $_SESSION['key'];
session('key')->get();

// $_SESSION['key']['more']['deep'];
session('key.more.deep')->get();

// Pass a default value into get() if the key not exists:
session('not.available')->get('my default value');

// $_SESSION['key']['more'] = $data;
session('key.more')->set($data);

// isset($_SESSION['key']);
session('key')->exists();

// Send a flash message:
session('input.error')->message();

// $_SESSION['key'] == 'value';
session('key')->is('value');

// unset($_SESSION['key']['and']['more']['deeply']);
session('key.and.more.deeply')->remove();
// Alias for remove():
session('key.and.more.deeply')->delete();

// Destroy complete session:
session()->destroy();
```

You can change the separation by add a second argument for the class call in the helper function. Change to whatever you like (e.g '-&gt;' or '/'):

```
session('key->and->other')->get();
session('key/and/other')->get();
```

###  Health Score

22

—

LowBetter than 22% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/6cf89a09eb544692f25528e91048101a8e235465a1fcec70f64461fb283cb45c?d=identicon)[devfake](/maintainers/devfake)

---

Top Contributors

[![devfake](https://avatars.githubusercontent.com/u/2204770?v=4)](https://github.com/devfake "devfake (21 commits)")

### Embed Badge

![Health badge](/badges/devfake-rese/health.svg)

```
[![Health](https://phpackages.com/badges/devfake-rese/health.svg)](https://phpackages.com/packages/devfake-rese)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
