class CompositeResolver
@internal
Hierarchy
- class \OpenTelemetry\SDK\Common\Configuration\Resolver\CompositeResolver
Expanded class hierarchy of CompositeResolver
1 file declares its use of CompositeResolver
- Configuration.php in vendor/
open-telemetry/ sdk/ Common/ Configuration/ Configuration.php
File
-
vendor/
open-telemetry/ sdk/ Common/ Configuration/ Resolver/ CompositeResolver.php, line 12
Namespace
OpenTelemetry\SDK\Common\Configuration\ResolverView source
class CompositeResolver {
/** @var list<ResolverInterface> */
private array $resolvers = [];
public static function instance() : self {
static $instance;
$instance ??= new self([
new EnvironmentResolver(),
new PhpIniResolver(),
]);
return $instance;
}
public function __construct($resolvers) {
foreach ($resolvers as $resolver) {
$this->addResolver($resolver);
}
}
public function addResolver(ResolverInterface $resolver) : void {
$this->resolvers[] = $resolver;
}
public function getResolvers() : array {
return $this->resolvers;
}
public function resolve(string $variableName, $default = '') {
foreach ($this->resolvers as $resolver) {
if ($resolver->hasVariable($variableName)) {
return $resolver->retrieveValue($variableName);
}
}
return Configuration::isEmpty($default) ? Configuration::getDefault($variableName) : $default;
}
public function hasVariable(string $variableName) : bool {
foreach ($this->resolvers as $resolver) {
if ($resolver->hasVariable($variableName)) {
return true;
}
}
return false;
}
}
Members
Title Sort descending | Modifiers | Object type | Summary |
---|---|---|---|
CompositeResolver::$resolvers | private | property | @var list<ResolverInterface> |
CompositeResolver::addResolver | public | function | |
CompositeResolver::getResolvers | public | function | |
CompositeResolver::hasVariable | public | function | |
CompositeResolver::instance | public static | function | |
CompositeResolver::resolve | public | function | |
CompositeResolver::__construct | public | function |