| [ Web Proxy ] |
| Viewing: https://docs.sonsofphp.com/components/feature-toggle | [Back] [Original] |
<?php
// ...
use SonsOfPHP\Component\FeatureToggle\Context;
// Different ways to build the context, the context
// is used by the Toggle
$context = new Context([
'user' => $user,
]);
$context->set('user', $user);
$context['user'] = $user;
$isEnabled = $feature->isEnabled($context);<?php
use SonsOfPHP\Component\FeatureToggle\Toggle\AlwaysDisabledToggle;
use SonsOfPHP\Component\FeatureToggle\Toggle\AlwaysEnabledToggle;
use SonsOfPHP\Component\FeatureToggle\Toggle\ChainToggle;
$toggle = new ChainToggle([
new AlwaysEnabledToggle(),
new AlwaysDisabledToggle(),
]);
// true because at least ONE is enabled
$isEnabled = $toggle->isEnabled();<?php
use SonsOfPHP\Component\FeatureToggle\Toggle\AlwaysDisabledToggle;
use SonsOfPHP\Component\FeatureToggle\Toggle\AlwaysEnabledToggle;
use SonsOfPHP\Component\FeatureToggle\Toggle\ChainToggle;
$toggle = new ChainToggle([
new AlwaysDisabledToggle(),
new AlwaysEnabledToggle(),
]);
// false because at least ONE is disabled
$isEnabled = $toggle->isEnabled();<?php
use SonsOfPHP\Component\FeatureToggle\Toggle\DateRangeToggle;
$toggle = new DateRangeToggle(
start: new \DateTimeImmutable('2024-01-01'),
end: new \DateTimeImmutable('2024-12-31'),
);
// ...<?php
use SonsOfPHP\Contract\FeatureToggle\ContextInterface;
use SonsOfPHP\Contract\FeatureToggle\ToggleInterface;
class MyCustomToggle implements ToggleInterface
{
public function isEnabled(?ContextInterface $context = null): bool
{
// ...
}
}| Web Proxy Viewer | New URL | Original Page |