PHPackages                             qandidate/toggle - 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. qandidate/toggle

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

qandidate/toggle
================

Feature toggling for your PHP application.

2.0.2(3y ago)3812.0M↓13.3%36[4 PRs](https://github.com/qandidate-labs/qandidate-toggle/pulls)9MITPHPPHP &gt;=7.2

Since Aug 18Pushed 1y ago22 watchersCompare

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

READMEChangelog (6)Dependencies (5)Versions (18)Used By (9)

Toggle
======

[](#toggle)

Feature toggling for PHP.

[![build status](https://github.com/qandidate-labs/qandidate-toggle/actions/workflows/ci.yml/badge.svg)](https://github.com/qandidate-labs/qandidate-toggle/actions/workflows/ci.yml/badge.svg)

About
-----

[](#about)

Read our blog post series about this repository at:

-
-

Installation
------------

[](#installation)

Add the library to your project:

```
$ composer require qandidate/toggle ^1.0

```

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

[](#how-to-use)

In the examples folder you'll see the basic usage of the Toggle library.

Basically you create a collection with features, optionally with conditions. Based on a given Context, the manager will tell you if a feature is active or not.

Tests
-----

[](#tests)

To run all the tests you'll need to have redis installed (redis tests wil be skipped when not available).

Running the tests:

```
$ make test

```

License
-------

[](#license)

MIT, see LICENSE.

###  Health Score

52

—

FairBetter than 96% of packages

Maintenance29

Infrequent updates — may be unmaintained

Popularity60

Solid adoption and visibility

Community41

Growing community involvement

Maturity67

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

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

Recently: every ~428 days

Total

13

Last Release

1389d ago

Major Versions

0.4.0 → 1.0.02016-02-08

1.1.1 → 2.0.02020-03-30

PHP version history (3 changes)0.1.0PHP &gt;=5.3.2

0.4.0PHP &gt;=5.5.9

2.0.0PHP &gt;=7.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/78fcc60c1d576c1f19a4c03297931f879354efbb7e054318ffe391a2a2f0a274?d=identicon)[asm89](/maintainers/asm89)

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

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

![](https://www.gravatar.com/avatar/387cfcacd63a3599555e6e7ece12c3f224abd718e7b8425b09586d0502107b66?d=identicon)[fritsjanb](/maintainers/fritsjanb)

![](https://www.gravatar.com/avatar/8975ebed957752c13449a32c9e528a43e7fd219ecc0244018e64ed1ee2079e28?d=identicon)[E1379](/maintainers/E1379)

---

Top Contributors

[![othillo](https://avatars.githubusercontent.com/u/2786663?v=4)](https://github.com/othillo "othillo (38 commits)")[![asm89](https://avatars.githubusercontent.com/u/657357?v=4)](https://github.com/asm89 "asm89 (38 commits)")[![wjzijderveld](https://avatars.githubusercontent.com/u/450201?v=4)](https://github.com/wjzijderveld "wjzijderveld (26 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (7 commits)")[![localheinz](https://avatars.githubusercontent.com/u/605483?v=4)](https://github.com/localheinz "localheinz (7 commits)")[![jorgelbg](https://avatars.githubusercontent.com/u/1291846?v=4)](https://github.com/jorgelbg "jorgelbg (5 commits)")[![ericdowell](https://avatars.githubusercontent.com/u/525506?v=4)](https://github.com/ericdowell "ericdowell (3 commits)")[![rplansky](https://avatars.githubusercontent.com/u/572653?v=4)](https://github.com/rplansky "rplansky (3 commits)")[![Trekels](https://avatars.githubusercontent.com/u/10342191?v=4)](https://github.com/Trekels "Trekels (3 commits)")[![b3nch1ps](https://avatars.githubusercontent.com/u/8436025?v=4)](https://github.com/b3nch1ps "b3nch1ps (2 commits)")[![mkcny](https://avatars.githubusercontent.com/u/191818?v=4)](https://github.com/mkcny "mkcny (2 commits)")[![dependabot-preview[bot]](https://avatars.githubusercontent.com/in/2141?v=4)](https://github.com/dependabot-preview[bot] "dependabot-preview[bot] (2 commits)")[![robertfausk](https://avatars.githubusercontent.com/u/1651297?v=4)](https://github.com/robertfausk "robertfausk (2 commits)")[![lavary](https://avatars.githubusercontent.com/u/4816516?v=4)](https://github.com/lavary "lavary (1 commits)")[![alexandrmazur96](https://avatars.githubusercontent.com/u/20535375?v=4)](https://github.com/alexandrmazur96 "alexandrmazur96 (1 commits)")[![awarrenlove](https://avatars.githubusercontent.com/u/3413482?v=4)](https://github.com/awarrenlove "awarrenlove (1 commits)")[![bertramakers](https://avatars.githubusercontent.com/u/959026?v=4)](https://github.com/bertramakers "bertramakers (1 commits)")[![carusogabriel](https://avatars.githubusercontent.com/u/16328050?v=4)](https://github.com/carusogabriel "carusogabriel (1 commits)")[![ebroekmeulen](https://avatars.githubusercontent.com/u/1893048?v=4)](https://github.com/ebroekmeulen "ebroekmeulen (1 commits)")[![aaa2000](https://avatars.githubusercontent.com/u/163941?v=4)](https://github.com/aaa2000 "aaa2000 (1 commits)")

---

Tags

featuretriggertoggleswitchflipbitsflipping

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/qandidate-toggle/health.svg)

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

###  Alternatives

[opensoft/rollout

Feature switches or flags for PHP

2571.8M5](/packages/opensoft-rollout)[zumba/swivel

Strategy driven feature toggles

209135.7k5](/packages/zumba-swivel)[flagception/flagception-bundle

Feature toggle bundle on steroids.

283.8M](/packages/flagception-flagception-bundle)[naif/toggle

A Laravel Nova toggle switch field for Nova 3

2671.5k](/packages/naif-toggle)[ajgarlag/feature-flag-bundle

Provides a feature flag mechanism

1417.8k](/packages/ajgarlag-feature-flag-bundle)

PHPackages © 2026

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