PHPackages                             nucleware/time-machine - 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. nucleware/time-machine

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

nucleware/time-machine
======================

Time-based state-machine

01PHP

Since Feb 16Pushed 7y agoCompare

[ Source](https://github.com/Nucleware/time-machine)[ Packagist](https://packagist.org/packages/nucleware/time-machine)[ RSS](/packages/nucleware-time-machine/feed)WikiDiscussions master Synced 3d ago

READMEChangelogDependenciesVersions (1)Used By (0)

Time-sensitive state machine
============================

[](#time-sensitive-state-machine)

This library allows you to build a state machine whose state depends on the current time.

What's it for?
--------------

[](#whats-it-for)

If you have components that are supposed to automatically change behaviour based on time, this is for you.

Example use case:
-----------------

[](#example-use-case)

A competition that accepts entries during a certain interval, but must reject entries otherwise. Say this competition then has a voting stage after the entries have been submitted, and once the voting has finished it will pick winners and display them.

Caveats
-------

[](#caveats)

- Overlaps

    It it recommended that you don't have overlapping intervals.

    This library doesn't check for overlaps. If your states overlap the behaviour is undefined. In the future the library may check and forbid overlaps.

###  Health Score

17

—

LowBetter than 6% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity1

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity38

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

### Embed Badge

![Health badge](/badges/nucleware-time-machine/health.svg)

```
[![Health](https://phpackages.com/badges/nucleware-time-machine/health.svg)](https://phpackages.com/packages/nucleware-time-machine)
```

PHPackages © 2026

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