PHPackages                             jcombee/reduced - 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. jcombee/reduced

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

jcombee/reduced
===============

A php library for managing state.

02PHP

Since May 14Pushed 4y ago1 watchersCompare

[ Source](https://github.com/JCombee/reduced)[ Packagist](https://packagist.org/packages/jcombee/reduced)[ RSS](/packages/jcombee-reduced/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Reduced
=======

[](#reduced)

A state management library for PHP.

Content
-------

[](#content)

- [Instalation](#instalation)
- [How to use](#how-to-use)

Instalation
-----------

[](#instalation)

```
composer require jcombee/reduced
```

How to use
----------

[](#how-to-use)

This example bellow uses the classes in: [tests/Example](tests/Example).

```
    $state = new LocationState(0, 0);
    $store = new Store($state);

    $store->subscribe(function (LocationState $state) {
        echo "Location: {$state->x}, {$state->y}";
    });

    $store->registerReducer(new MovementReducer());

    $store->dispatch(new MovementAction(DirectionEnum::UP));
    $store->dispatch(new MovementAction(DirectionEnum::LEFT))
    $store->dispatch(new MovementAction(DirectionEnum::DOWN))
    $store->dispatch(new MovementAction(DirectionEnum::RIGHT))

    $state = $store->getState();

    /**
     * Location: 0, -1
     * Location: -1, -1
     * Location: -1, 0
     * Location: 0, 0
     */
```

###  Health Score

14

—

LowBetter than 2% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity2

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity26

Early-stage or recently created project

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/c470ef1a01977dc82502e602cae6051e09f4e24c36b1f91890569e4f3e256aad?d=identicon)[JCombee](/maintainers/JCombee)

### Embed Badge

![Health badge](/badges/jcombee-reduced/health.svg)

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

###  Alternatives

[salmanzafar/laravel-geocode

A Laravel Library to find Lat and Long of a given Specific Address

153.9k](/packages/salmanzafar-laravel-geocode)[thedmsgroup/mautic-segment-extras-bundle

Extends Mautic Lead Bundle's Lead List (Segment) functionality.

151.4k](/packages/thedmsgroup-mautic-segment-extras-bundle)

PHPackages © 2026

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