monkeyscloud / monkeyslegion-feature-flags
Pennant-style feature flag system for MonKeysLegion framework
Package info
github.com/MonkeysCloud/monkeyslegion-feature-flags
pkg:composer/monkeyscloud/monkeyslegion-feature-flags
1.0.2
2026-09-29 01:49 UTC
Requires
- php: ^8.4
- ext-pdo: *
- monkeyscloud/monkeyslegion-http: ^2.1
- psr/http-message: ^2.0
- psr/http-server-handler: ^1.0
- psr/http-server-middleware: ^1.0
Requires (Dev)
- ext-redis: *
- phpunit/phpunit: ^11.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
Pennant-style feature flag system for the MonKeysLegion framework.
Features
- Boolean flags — simple on/off
- Percentage rollout — deterministic per-scope (CRC32 hashing)
- A/B testing — weighted variant distribution
- Per-scope evaluation — user, team, global
- Route-level gating —
#[FeatureFlag]attribute + middleware - Multiple drivers — InMemory, Database (PDO), Redis
Installation
composer require monkeyscloud/monkeyslegion-feature-flags
Usage
use MonkeysLegion\FeatureFlags\Feature; // Define flags Feature::defineBool('new-ui', false); Feature::definePercentage('beta-access', 25); Feature::defineAB('button-color', ['red' => 70, 'blue' => 30]); // Check flags if (Feature::isActive('new-ui')) { /* ... */ } if (Feature::for($user)->isActive('beta-access')) { /* ... */ } $variant = Feature::value('button-color', $user);
License
MIT © MonKeysCloud