clsmedia/feature-flag
最新稳定版本:v1.1.0
Composer 安装命令:
composer require clsmedia/feature-flag
包简介
Set feature flag via .env or cookies
README 文档
README
A simple PHP package to handle feature flags via .env or cookies.
Installation
composer require clsmedia/feature-flag
Quick Start
use Clsmedia\FeatureFlag\FeatureFlag; if (FeatureFlag::isActive('new_checkout')) { echo 'New checkout is enabled!'; }
Defining Flags
Via .env
FEATURE_FLAGS=feature1,feature2
Via Cookie
setcookie('FEATURE_FLAGS', 'feature1,feature2', 0, '/');
Flags can be defined in both .env and cookie simultaneously. Both sources are checked.
Basic Usage
// Check if a flag is active FeatureFlag::isActive('feature1'); // true or false // Check if a flag is missing (not active) FeatureFlag::misses('feature1'); // true if not active // Get all active flags print_r(FeatureFlag::getFlags());
Default Value for Missing Flags
When a flag doesn't exist, you can provide a default value:
// Returns true if 'nonexistent' flag is not defined FeatureFlag::isActive('nonexistent', true); // true // Returns false if flag not defined (default) FeatureFlag::isActive('nonexistent'); // false
Time-Based Flags
Enable flags only within a specific time window (UTC):
FEATURE_FLAGS=summer_sale|2026-06-01T00:00:00;2026-08-31T23:59:59
Format: flagName|startDateTime;endDateTime
Examples:
feature1|2026-01-01T00:00:00;2026-12-31T23:59:59— active only in 2026feature2— no time restriction, always active
How it works
- If current time is outside the window → flag returns
false - If current time is inside the window → checks sources normally
- Malformed datetime suffix → flag treated as regular (no time restriction)
Flag Definition Format
FEATURE_FLAGS=flag1,flag2|2026-01-01T00:00:00;2026-12-31T23:59:59,flag3
flag1— regular flagflag2— time-based flag (active only in window)flag3— regular flag
Examples
See index.php for complete working examples including:
- Basic flag checking
- Cookie-based flags
- Time-based flags
- Default values
- Using
misses()for inverted logic
统计信息
- 总下载量: 520
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2023-04-16