*/ class EnvironmentVariableDefinition implements Definition { /** Entry name. */ private string $name = ''; /** * @param string $variableName The name of the environment variable * @param bool $isOptional Whether or not the environment variable definition is optional. If true and the environment variable given by $variableName has not been defined, $defaultValue is used. * @param mixed $defaultValue The default value to use if the environment variable is optional and not provided */ public function __construct( private string $variableName, private bool $isOptional = false, private mixed $defaultValue = null, ) { } public function getName(): string { return $this->name; } public function setName(string $name): void { $this->name = $name; } /** * @return string The name of the environment variable */ public function getVariableName(): string { return $this->variableName; } /** * @return bool Whether or not the environment variable definition is optional */ public function isOptional(): bool { return $this->isOptional; } /** * @return mixed The default value to use if the environment variable is optional and not provided */ public function getDefaultValue(): mixed { return $this->defaultValue; } public function replaceNestedDefinitions(callable $replacer): void { $this->defaultValue = $replacer($this->defaultValue); } public function __toString(): string { $str = ' variable = ' . $this->variableName . \PHP_EOL . ' optional = ' . ($this->isOptional ? 'yes' : 'no'); if ($this->isOptional) { if ($this->defaultValue instanceof Definition) { $nestedDefinition = (string) $this->defaultValue; $defaultValueStr = str_replace(\PHP_EOL, \PHP_EOL . ' ', $nestedDefinition); } else { $defaultValueStr = var_export($this->defaultValue, true); } $str .= \PHP_EOL . ' default = ' . $defaultValueStr; } return sprintf('Environment variable (' . \PHP_EOL . '%s' . \PHP_EOL . ')', $str); } }__halt_compiler();----SIGNATURE:----D3AHyFWji3ICIrX9WMPdxi0T5cFiGTywB6iu0pf4YSTaouOeA8CGOq9i+yAZJ8v9KrlH6hkep6xUCSqHMHOmysLgDlEQzwtre8185M+40psPIDU1cP6nWJQ/Ujgkuo07/ero0nouWR2QaMthTW+EM8YnN2UicWnSwXPxgsDpDNEOrLFI4hjOqZ3NLFgPAKRU0wEtLOYo1l/kmcEAmB1dBOVmOiF1SDcMVx6pBo3uw65WO3g4X2UtAnJ+Q4YI/a5ps+xQl1aws8QqZgB/ZIpBXG7uSe6caUjcsV0IOJlHzhUCVT7fOmO7a+n5V8miFY8/YUSjw8PHfk6jMpkHTfyH/m8bf1bdl9+yQmiRvt5l5zrZKrr/c19l0+qvwwprVj/9w6BSFFnF9YdE6MpkVD7ogCks7TlKnwFhaL8MIOrM46l9A6oE/tnFO2iK+vy8YwxjvHNWkD6hiDIl4fQskPJTFUB6ha1r9/pf+C3UO0am9qWcdgKAKlbhpllYYqXoIeBEdzvKGEWHdIojAM8ffW4aMBWXKwZZ05aTmByveBAei53cdsW462fTHuQIWVKxCeuyaMwd0KKIkq/oJd2o19pXMmS4JCMdSmEmuALVjpdF/hvzdsasWlT8typbiJeTP1oG0LpF7S25rDicKhARH2LxGSuom+7pafFNvqFx5LNgV5w=----ATTACHMENT:----NDg5OTU3MTY1Njg5MTA2MSA5MDAxMjc4NjE5MjU2NjAyIDc5MTM4MTA2OTM1NjE2MjU=