PHPackages                             zenc0dr/sampurna - 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. zenc0dr/sampurna

ActiveLibrary

zenc0dr/sampurna
================

सम्पूर्ण

1.0.0(1y ago)15MITJavaScriptPHP &gt;=8.0

Since Oct 22Pushed 1y ago1 watchersCompare

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

READMEChangelogDependencies (1)Versions (9)Used By (0)

Sampurna
========

[](#sampurna)

Sampurna в индийских языках, таких как санскрит и хинди, "sampurna" (सम्पूर्ण) переводится как "полный", "совершенный" или "идеальный". Это библиотека представляет из себя микрофреймворк на базе Laravel, реализующая в одном месте весь функционал любой, сколь угодно сложной бизнес-логики. Функционал библиотеки постоянно расширяется и на данный момент это:

- Очередь/брокер задач
- Фоновый запуск потоков
- Балансировка потоков
- Расширенная система кеширования
- Маркетплейс компонентов
- Конструктор интерфейсов
- Конструктор цепочек вызовов

Данная библиотека разрабатывается для того чтобы php-программисты могли тратить больше времени на реализацию бизнес-логик вместо разработки их технических аспектов. Автор  будет очень рад любой помощи в дальнейшем развитии библиотеки и счастлив если она поможет кому-то потратить большое количество часов на то что действительно важно, вместо того чтобы неустанно программировать ночи напролёт (Om Namah Shivaya). ;)

Документация пока на стадии написания, кода очень много и некоторые аспекты ещё периодически меняются, так что тут описаны только самые базовые аспекты взаимодействия. Для полноценного погружения добро пожаловать в код, код написан с любовью ко всем живым существам, на сколько это было возможно в рамках Laravel и PHP, так что он довольно понятен и прозрачен.

###### Переменные окружения

[](#переменные-окружения)

КлючУмолчаниеОписаниеSAMPURNA\_PHP\_PATHphpУказание интепретатора phpSAMPURNA\_NOHUP\_ENABLEfalseЕсли на хосте есть библиотека nohup то выполнение фоновых процессов более надёжно###### Переменные сессии

[](#переменные-сессии)

КлючУмолчаниеОписаниеsampurna.log.echonullЕсли перевести в true то глобальный лог будет выводиться в консоль#### Хранилища

[](#хранилища)

В качестве системы оперативных хранилищ используется база данный sqlite, так как она имеет особенности которые наилучшим образом проявляются именно в роли динамических баз. Будем в последствии называть эти базы хранилища.

###### Создать хранилище (Базу sqlite)

[](#создать-хранилище-базу-sqlite)

```
sampurna()->vault('test_vault')->create(function ($schema) {
    $schema->create('table1', function (Blueprint $table) {
        $table->increments('id');
        $table->string('name');
    });
    $schema->create('table2', function (Blueprint $table) {
        $table->increments('id');
        $table->string('name');
        $table->string('email');
    });
});
```

###### Обновить хранилище (добавить новые таблицы или поля)

[](#обновить-хранилище-добавить-новые-таблицы-или-поля)

```
sampurna()->vault('test_vault')->update(function ($schema) {
    $schema->table('table2', function (Blueprint $table) {
        $table->integer('count')->default(0)->after('name');
    });
});
```

> Разница между функциями vault()-&gt;create и vault()-&gt;update только в том что в случае create база данных полностью удаляется и создаётся заново. Больше никаких отличий, далее создание и изменение структуры базы зависит от $schema (Schema::connection)

###### Сделать запрос в хранилище

[](#сделать-запрос-в-хранилище)

```
# Получим экземпляр хранилища
$vault = sampurna()->vault('waterway');

# Получить экземпляр
$vault->query('ships', 123); # Ниже тоде самое
$vault->query('ships')>find(123);
$vault->query('ships', 'g5nhj-fnnd3-ddfnsc', 'uuid'); # Ниже тоде самое
$vault->query('ships')->where('uuid', 'g5nhj-fnnd3-ddfnsc')->first();

# Добавить запись
$vault->query('ships')->insert([
    'id' => $ship_id,
    'name' => $ship_name,
]);
```

> Это обычная обёртка над QueryBuilder и работа происходит с базой SQLite с именем waterway (storage/sampurna\_vault/vaults/**waterway**)

#### Юниты

[](#юниты)

Описания (манифесты) юнитов находятся в папке заданной в `config/sampurna.php` + `/units`Например манифест `storage/sampurna_vault/units/azimut.waterway.json`

```
{
    "name": "Любое имя юнита",
    "desc": "Тут можно описать что делает юнит",
    "call": "App.Services.Parsers.Waterway.WaterwayParser.dispatcher",
}
```

###### Таблица свойств манифеста юнита

[](#таблица-свойств-манифеста-юнита)

СвойствоОбязательноописаниеПримерnameдаИмя юнитаstackнетdescдаОписание юнитаcallдаВызов юнитаApp.Services.Parsers.Waterway.WaterwayParser.dispatcherattempts\_maxнетМаксимальное количество попытокattempts\_pauseнетПауза в секундах между попытками^unit-manifest-table

#### Artisan команды (документация в процессе обновления)

[](#artisan-команды-документация-в-процессе-обновления)

###### Создать новый стэк

[](#создать-новый-стэк)

```
php artisan sampurna:stack create --uuid="test.stack" --name="Тестовый стек"
```

###### Вывести список стэков

[](#вывести-список-стэков)

```
php artisan sampurna:stack list
```

###### Запустить юнита из очереди

[](#запустить-юнита-из-очереди)

```
php artisan sampurna:unit run --uuid=unit1:0
```

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance38

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

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 ~2 days

Total

8

Last Release

550d ago

Major Versions

0.2.1 → 1.0.02024-11-06

### Community

Maintainers

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

### Embed Badge

![Health badge](/badges/zenc0dr-sampurna/health.svg)

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

###  Alternatives

[fumeapp/modeltyper

Generate TypeScript interfaces from Laravel Models

196277.9k](/packages/fumeapp-modeltyper)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

255.2k](/packages/aedart-athenaeum)

PHPackages © 2026

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