From 1fd4e8bb60d6667d4d90816bd0ca99ea3a6b5e2a Mon Sep 17 00:00:00 2001 From: Fabien Potencier Date: Sun, 10 May 2020 16:02:52 +0200 Subject: [PATCH] [DependencyInjection] Add abstract_arg() and param() --- .../Configurator/AbstractConfigurator.php | 2 ++ .../Configurator/ContainerConfigurator.php | 17 +++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/src/Symfony/Component/DependencyInjection/Loader/Configurator/AbstractConfigurator.php b/src/Symfony/Component/DependencyInjection/Loader/Configurator/AbstractConfigurator.php index 23e64bb94f..9527a3cbef 100644 --- a/src/Symfony/Component/DependencyInjection/Loader/Configurator/AbstractConfigurator.php +++ b/src/Symfony/Component/DependencyInjection/Loader/Configurator/AbstractConfigurator.php @@ -11,6 +11,7 @@ namespace Symfony\Component\DependencyInjection\Loader\Configurator; +use Symfony\Component\DependencyInjection\Argument\AbstractArgument; use Symfony\Component\DependencyInjection\Argument\ArgumentInterface; use Symfony\Component\DependencyInjection\Definition; use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException; @@ -85,6 +86,7 @@ abstract class AbstractConfigurator case $value instanceof Definition: case $value instanceof Expression: case $value instanceof Parameter: + case $value instanceof AbstractArgument: case $value instanceof Reference: if ($allowServices) { return $value; diff --git a/src/Symfony/Component/DependencyInjection/Loader/Configurator/ContainerConfigurator.php b/src/Symfony/Component/DependencyInjection/Loader/Configurator/ContainerConfigurator.php index 16eb471645..727857efd5 100644 --- a/src/Symfony/Component/DependencyInjection/Loader/Configurator/ContainerConfigurator.php +++ b/src/Symfony/Component/DependencyInjection/Loader/Configurator/ContainerConfigurator.php @@ -11,6 +11,7 @@ namespace Symfony\Component\DependencyInjection\Loader\Configurator; +use Symfony\Component\DependencyInjection\Argument\AbstractArgument; use Symfony\Component\DependencyInjection\Argument\IteratorArgument; use Symfony\Component\DependencyInjection\Argument\ServiceLocatorArgument; use Symfony\Component\DependencyInjection\Argument\TaggedIteratorArgument; @@ -82,6 +83,14 @@ class ContainerConfigurator extends AbstractConfigurator } } +/** + * Creates a parameter. + */ +function param(string $name): string +{ + return '%'.$name.'%'; +} + /** * Creates a service reference. * @@ -165,3 +174,11 @@ function expr(string $expression): Expression { return new Expression($expression); } + +/** + * Creates an abstract argument. + */ +function abstract_arg(string $description): AbstractArgument +{ + return new AbstractArgument($description); +}