PHPackages                             arendach/multisessions - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. arendach/multisessions

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

arendach/multisessions
======================

Multi session package

1.0.14(5y ago)0519MITPHPPHP &gt;=7.2

Since Dec 29Pushed 5y ago2 watchersCompare

[ Source](https://github.com/Arendach/multisessions)[ Packagist](https://packagist.org/packages/arendach/multisessions)[ RSS](/packages/arendach-multisessions/feed)WikiDiscussions master Synced 1w ago

READMEChangelogDependenciesVersions (12)Used By (0)

Laravel Мультисесії
===================

[](#laravel-мультисесії)

Установка
---------

[](#установка)

###### Установка пакета

[](#установка-пакета)

```
composer require arendach/multisessions

```

###### Опублікувати файли пакета

[](#опублікувати-файли-пакета)

```
php artisan vendor:publish --tag=multisessions

```

###### Middleware для ініціалізації сесії

[](#middleware-для-ініціалізації-сесії)

```
// app/Http/Kernel.php -> middlewareGroups['web']
...
\Arendach\MultiSessions\Middleware\MultiSessionsStart::class,
...
```

###### Middleware для перезагрузки сесій якщо змінена IP адреса користувача

[](#middleware-для-перезагрузки-сесій-якщо-змінена-ip-адреса-користувача)

> Використовується в звязці з пакетами `arendach/vodafone-msisdn` та/або `arendach/vodafone-name`
>
> Для роботи необхідно передати в заголовках `X-USER-IP-ADDRESS` і налаштувати cors, доодати заголовок в масив `exposed_headers`

```
// app/Http/Kernel.php -> middlewareGroups['web']
...
\Arendach\MultiSessions\Middleware\RebootPersonificationSession::class,
...
```

###### Service Provider

[](#service-provider)

```
// Додати в app.providers
...
\Arendach\MultiSessions\Providers\MultiSessionsServiceProvider::class
...
```

Принцип роботи
--------------

[](#принцип-роботи)

> В основі роботи мультисесій лежить кешування *laravel*. Для кожної сесії є можливість виставити власне сховище(Redis, file, memcached, database)
>
> Для кожної окремої сесії задається час життя(після останньої дії користувача). Браузеру відправляються куки з унікальним ідентифікатором сесії, а в кеш записуються дані для цього ідентифікатора які живуть одинаковий час.
>
> Після кожного запиту на сервер час життя для кожної сесії оновлюється, від даного моменту + час життя сесії.
>
> Переданий ідентифікатор в куках шифрується стандартними методами шифрування cookies Laravel.

Конфігурація
------------

[](#конфігурація)

###### Конфігурація для кожної сесії находиться в файлі `config/multisessions.php`

[](#конфігурація-для-кожної-сесії-находиться-в-файлі-configmultisessionsphp)

```
return [
    'personification' => [
        'driver'   => 'database',
        'lifetime' => '20',//  minutes
    ],
];
```

> `personification` - ідентифікатор(назва сесії)
>
> `driver` - сховище для кешу
>
> `lifetime` - час життя сесії в хвилинах

Як використовувати
------------------

[](#як-використовувати)

> При підключенні сервіс провайдера реєструється singleton для кожної сесії.
>
> Для того щоб отримати екземпляр сесії необхідно визвати статичний метод `instance`

```
$key = 'personification'; // клюю масива з файла конфігурації

$sesion = \Arendach\MultiSessions\Session::instance($key);
```

> В класі Session доступні настуні публічні методи

```
// set(string $key, mixed $value): self
// метод записує в сховище дані по ключу
$session->set('slug-key', 'hello world');

// has(string $key): bool
// метод перевіряє наявність даних по ключу в сесії, вертає true навіть якщо значення null
$session->has('slug-key'); // true

// get(string $key): mixed
// метод повертає дані з сесії по ключу або null якщо немає нічого
$session->get('slug-key'); // hello world
```

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity55

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.

###  Release Activity

Cadence

Every ~10 days

Recently: every ~16 days

Total

11

Last Release

1862d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/e2d890306073bb761361bfef9072234c0701a91637537c8b819cbfeb85f42f50?d=identicon)[arendach](/maintainers/arendach)

---

Top Contributors

[![Arendach](https://avatars.githubusercontent.com/u/25111143?v=4)](https://github.com/Arendach "Arendach (19 commits)")

### Embed Badge

![Health badge](/badges/arendach-multisessions/health.svg)

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

PHPackages © 2026

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