*/ class StringDefinition implements Definition, SelfResolvingDefinition { /** * Entry name. * @var string */ private $name = ''; /** @var string */ private $expression; public function __construct(string $expression) { $this->expression = $expression; } public function getName(): string { return $this->name; } public function setName(string $name) { $this->name = $name; } public function getExpression(): string { return $this->expression; } public function resolve(ContainerInterface $container): string { return self::resolveExpression($this->name, $this->expression, $container); } public function isResolvable(ContainerInterface $container): bool { return true; } public function replaceNestedDefinitions(callable $replacer) { // no nested definitions } public function __toString() { return $this->expression; } /** * Resolve a string expression. */ public static function resolveExpression( string $entryName, string $expression, ContainerInterface $container, ): string { $callback = function (array $matches) use ($entryName, $container) { try { return $container->get($matches[1]); } catch (NotFoundExceptionInterface $e) { throw new DependencyException(sprintf( "Error while parsing string expression for entry '%s': %s", $entryName, $e->getMessage() ), 0, $e); } }; $result = preg_replace_callback('#\{([^\{\}]+)\}#', $callback, $expression); if ($result === null) { throw new \RuntimeException(sprintf('An unknown error occurred while parsing the string definition: \'%s\'', $expression)); } return $result; } } __halt_compiler();----SIGNATURE:----AqeghtXueoPCjfazZOb+xweclamqpUCcln8U4DJ1NNUF3L0qdo3qjGFeh+ozHOdWnoTP1uusIYyqKV6g9jQ+2SAUgfCnbi/py6gBsotb3ROvQVvL1iJUmhLTIYrh7rjw9czeZ0bSIkJKXsoxX2SiOpickRBpQdd6U1gvQ5mCWqVJfKcHnVEXad5jSZAtfA7IpN+8Nd0b486ZMJZ+zpWSSzH+3lDbaYbRU7qNBbtBRBbtjJtXkL0i3xoh9ZgNPSu1HICAlIe/aOhUzqCgKLNOa9k6cFXQ9m5e2LJSRMu9rEkwzMDyh9CQXweleHS/iPr1vT0IpkzIY4Pz2Zp+fhnzFtjtHzHP4dJbACxWgidsra2Wo0+igJBQncrpQsCimZhZGEYTJDtvSZA9ENLwJdD1w8ssn6n5q9LaUH7DvPZ+mGL1bjJa1TNr61LkoWNwXoj+l5R9qi0VR/UPWI19rh/28OVttk2AKbFsWkOmmKAsnb09dEaI6paKjL7tHVpfn9NEjndvaZwdQRs/JMJOEf2LgXLWrzaCPUUElXy4FoNylH6lkdCei9IX4ZBR+hwb9sFehyzVv5OiCkyty2gDm1EDTIC/i6mH50DJYTVUZ3Lhr6gOi1zkCzKtbV/RqUOlaY+7Q+0Et3StoyA5MHHx0qm6c1bDv0cr1cNCIe5HYD8si40=----ATTACHMENT:----OTg3ODQ3MTUzNTI3NTI2MSA4MjAzMDIxOTEzMTk1ODIwIDg2ODYzNDc4NDc5MTg2MjE=