PHP code example of niborb / php-feature-toggle
1. Go to this page and download the library: Download niborb/php-feature-toggle 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/ */
niborb / php-feature-toggle example snippets
use Doctrine\Common\Cache\ArrayCache;
use Niborb\FeatureToggle\Cache\CacheProxy;
use Niborb\FeatureToggle\Entity\Feature;
use Niborb\FeatureToggle\Toggle;
use Symfony\Component\ExpressionLanguage\ExpressionLanguage;
$toggle = new Toggle();
$toggle->setExpressionLanguage(
new ExpressionLanguage(
new CacheProxy(
new ArrayCache()
)
)
);
// new user interface only available for users with an ID in range (1000-2000)
$feature = new Feature('user-interface-2.0');
$feature->enable();
$feature->setExpression('user.getId() in 1000..2000');
// add user to the toggle manager
$toggle->addFeature($feature);
// some users as context
$userOne = new User(3000);
$userTwo = new User(1500);
// check for both users if the feature is enabled
foreach ([$userOne, $userTwo] as $user) {
if ($toggle->isEnabled('user-interface-2.0', ['user' => $user])
) {
echo "User " . $user->getId() . " can see new interface" . PHP_EOL;
} else {
echo "User " . $user->getId() . " cannot(!) see new interface" . PHP_EOL;
}
}