*/ 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:----cJo5Mh3a3/4pMvoahK6efl89XTvIcHfELjuSIAz8kDW/uCCdr8Z75VhjNhmVxrpTPXx3CXyx+h384ZCtU95oqLCvHgjgPms9syHeg4H/8tV7Gr09F5dviZ/XRLMbZVz83ADcDCJBafnIU+P8sUutunUr4BVbCEON1+Da1ZW3211bUTnDvxewv+cIExtRlZUpE9Hy1C1KjuEOdZPAkHRSbTzwdg36yUV/ZIWh72wWV0l63hQFNBL6PCItqdnCCj3uYS5/nr5rOs/29AD4/UPtRc+b+NDM8YwVZyht42BBCiwT0pKD6UVuIv8vwToJTASmN1soKebRZJYOB3T0u5ayZtjaOqvCUISBVfv7A3R/gmdEyW/ISet13LxqRIW3ToVLu14GS/bAQ8y/T06dI+MwGSIkFfgTtZdYfyZrX04jQAV8W1TaMEf77p4Ic4klpiiXWKy9VGm8XFc/imRLMSrvmIdLlS/LVmC+K1EE05uYXX392R5hCB1R2H7d7wN5hsc7IFh1hJiB078O74l8WnX5BM2vP7RFCuv9YPu2a+tF05jM1t2N1wugOtzH3NK0U7596XY8msRk9FpTjUexdb9UD9m+y3pBRPzkDsmV2ufYcIMPQmpJzg3ma5aWsSpLEOQZ/0ZlogaKh5UKz0NkltJhd4FWavCboY9SfnjXimwG98s=----ATTACHMENT:----Njk1NDg5Mzc0Nzk2NzcyNCA4OTMzNTIxNDI3MTc0MjM1IDE1MDk1MTc4NzQ5OTY3ODA=