*/ 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:----PPDa8/pmHIuNAcnIwJKsBGsizBCB3tWmpoU71zwPGa6OSNq7UT0LvhlaQqDjNDuewumuRwLILgFplIpD4dT+6rQFcM0AIcHXO+r9zmHIDxFC6wsx3YWmAQs+/jB4Gd/uhTBMRbCKRf5MV0W6RXiC82EVoHsRCcZDQ3zXA6FNW9UZdYrXCvCSjVvD+28nQHJ/WPCnwd+Lpb7EnsqZaGPLTxqyKl8QCZnvr3K3ytdeuUbv31otAsiNRvio6nBC9Z+pcsdZmtNRGMSbg17farKgmDeVx6oBJZW4AGNjfNKTwdY6t38DWR+GdSMd7i0n8ooGX0HKEuzv+vFpyT+Qx9ZQHlofRP1XxDuUqeFfzsDTX0jWgcAa7jBntdLaPQuCPexpTfbDOdDENe7Sv8y/SgsmoF77hnfmCFTj+GCtL1nf2LfbY4KbWVS2rClmeKQ+nRCQyAFm7DXCMuCoYTtoKalyRHu2lIXUfNpavdTKACrvBz/is4MmipdhuVwnMG3/lfI0lnaiO1nVSpqKsyBsi4KyqeRGtnt6LCecXkKj7A8C9vJ2A0f1jSVJmjntP5h59Xll8DlJAYaBzChKQSoWvn5cYHQty9KyMrAJ+Zm3u8Q+Uwf7+1TKLCN5glqrnBBE0Trp0qtEUUtfP9UrLdqZbtpajdAf27gU3sb0B61cdHfZCZA=----ATTACHMENT:----NjM2ODI5MzczNDAwMjA5MyA4OTY4Mzk4NzA3NzAzMzgxIDU5MTUwODk5ODU4MzM4MTU=