class MyServiceSwitcher implements MyService
{
public function __construct(
private MyServiceOldImplementation $old,
private MyServiceImplementation $new,
private FeatureFlags $featureFlags
) {}
public function doSomething()
{
$isEnabled = $this->featureFlags->isEnabled('relace_some_service')
if ($isEnabled) {
return $this->new->doSomething();
}
return $this->old->doSomething();
}
}