*/ 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:----KlZXaPCB94Zg8ZSpQ2K8ddZQZR/9balY8rR788XXBYcvv/gwr6AZ+6IbIH7u2y4luMQE/bJECaINrqzDNbH/mvCiFSqQUg8yv0ra/8R+amngVvNYJx76XdkmMBAC47WeTIK/uZphbWT2GgwKHHiT6c+pIBec+85z/+tA3iLHSKvflZX4E3gz72ZVdvgp9P9POcZXUJuNFFjou59E6OU4tjX+N3kfc6tSgmVuIoWwqrZ2PRg3TrcNjCG1n1ZCjgc93zIJIc0n5OMuUEPj4O0iOeTyt81wElqAtkcMCXqg13Yf/+OHrokijTDmxrjWg/k/NNIWnkwuppoLOzAd9uKjVcuUEjTH17+KZuCZYuBllYws97jfbiPRUL1nND6Bp7W/6lMuBxAOLXQq0DgAi3DOzGC18yRVhiTKdM8ZGvAVOA1/39E0CSpTIYuJJCjUR4pOH5L5tfdtOLAiBgeW1+5RF8ApVWDwwcI4qiPNIHkQCo8+4JwvvCKX8Wj0W1Jw0d7h8oQjkGBTVPBwFFqiT94WhiNG8DBu6RxOLCZofcjaOA4y+xDAE974kLcyW8dSjJG++ZlRi2LWyRq8cA8WivCm93kkIh8s71iqbPE3t9/1tITPt/E6jon3qjhjwD20msMgz2rVmyW5owE8fKPDhdZ31phGwj1OdvpkNgoXABn8eUM=----ATTACHMENT:----OTAxODMwMTU5NTEyNzY0IDE2Mjc2MDM4NjQyNzY5ODIgODc0MTk5MzY4Nzg2NjQ3