prefix = $prefix; } /** * {@inheritdoc} */ public function getDefinition($name) { if (strpos($name, $this->prefix) !== 0) { return null; } $variableName = $this->parseVariableName($name); $vars = new TestingEnvironmentVariables(); $value = new ValueDefinition($vars->$variableName); $value->setName($name); return $value; } public function getDefinitions(): array { $vars = new TestingEnvironmentVariables(); $properties = $vars->getProperties(); $result = []; foreach ($properties as $name => $property) { $value = new ValueDefinition($property); $value->setName($name); $result[] = $value; } return $result; } private function parseVariableName($name) { $parts = explode('.', $name, 3); return @$parts[2]; } }