PHP code example of rasuvaeff / yii3-feature-flags-db
1. Go to this page and download the library: Download rasuvaeff/yii3-feature-flags-db library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
rasuvaeff / yii3-feature-flags-db example snippets
use Rasuvaeff\Yii3FeatureFlags\FeatureFlags;
use Rasuvaeff\Yii3FeatureFlagsDb\DbFlagProvider;
$provider = new DbFlagProvider(
db: $connection, // yiisoft/db ConnectionInterface
table: 'feature_flags', // optional, default is 'feature_flags'
);
$featureFlags = new FeatureFlags(provider: $provider);
if ($featureFlags->isEnabled('new-checkout')) {
// new checkout flow
}
use Rasuvaeff\Yii3FeatureFlagsDb\CachedFlagProvider;
$cached = new CachedFlagProvider(
inner: $provider,
cache: $psr16Cache, // PSR-16 CacheInterface
ttl: 60, // seconds
);
$featureFlags = new FeatureFlags(provider: $cached);
$cached->clear(); // removes cached flags, next call reloads from DB
use Rasuvaeff\Yii3FeatureFlags\Flag;
use Rasuvaeff\Yii3FeatureFlags\WritableFlagProvider;
/** @var WritableFlagProvider $provider */
$provider->save(flag: new Flag(
name: 'new-checkout',
enabled: true,
rollout: 25,
environments: ['production'],
));
$provider->remove(name: 'old-checkout');
use Rasuvaeff\Yii3FeatureFlags\WritableFlagProvider;
use Yiisoft\Definitions\Reference;
return [
// ...FlagProvider::class closure omitted for brevity...
WritableFlagProvider::class => Reference::to(FlagProvider::class),
];
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.