*/ class StringDefinition implements Definition, SelfResolvingDefinition { /** Entry name. */ private string $name = ''; public function __construct( private string $expression, ) { } public function getName(): string { return $this->name; } public function setName(string $name): void { $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): void { // no nested definitions } public function __toString(): string { 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) { /** @psalm-suppress InvalidCatch */ 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:----FyV/dGWvNcfQYWwBMzD42xYCivfMSE28zyXZpfkZglzDXLwuamajGksbCGnIydh/PP4f26ynqolUyYwvVgy9XBtIPWbSdKo8B0Ty+iulzvl1C2tSTo8jas1cyHlRFSXj9NEeAi9Kd1hAIvXSGOQ0CML6/Qip/dVHMrVewUWDwq2eebmByYV99IVystgM7FPu3nsK5K4QEjOBkUNMDYa4M6e/95Mx4p9vOInDuA2yaiZ3mq5c54uxLLBk/pkCubjOyGZsn3XML1WxrinBLYyGaAFJGse21M46hJkPMF6zzbq1xUF6HBt/cWkJrgzCVQTUobe+iCYPtYCBZiFOCUJwhfIamRHq09mIFbz0O+gkAgJsqvX0rPZwWgHt1FDwIAn1+hxIyikzGom/G2M81kdHYT/U/3C0jpvPCDGfdWnI/oTn5myBW2j682LBzPA4MoLhd/KopQ6r2DYNxrBrnqfYs31ZTQhcoYYnkwKLsLqsJ4tsIEwtE3QqJTw2+4NuakP9C5z6JTMgP1R8QAH1GvmFiLTSqIMooWAIxxJDxzCdKRd2pXSHWzCuNsnjgrSMj3mV4sjrLOb9dNj7+Cujlt7Ni41GdNfP2sZNn2UECvJbsepQtHEH/DqEoMTP016gBTFAesk/dgu1+zm3Rwux92TC20Q7soEQNeg5Ao5sDsDzBzw=----ATTACHMENT:----Njg0NzQ2NDE3MzE4Mzk0NCA0NDI4MjgwNzE0NjUxMjg4IDMzODkyMzExMTY0ODQ0NjI=