minor #41992 [Console][DependencyInjection] tighten types (nicolas-grekas)
This PR was merged into the 4.4 branch.
Discussion
----------
[Console][DependencyInjection] tighten types
| Q | A
| ------------- | ---
| Branch? | 4.4
| Bug fix? | no
| New feature? | no
| Deprecations? | no
| Tickets | -
| License | MIT
| Doc PR | -
See to #41991
Commits
-------
a35a9bb7a0
[DependencyInjection][Console] tighten types
This commit is contained in:
commit
2ed8a90653
@ -31,10 +31,10 @@ class InputArgument
|
|||||||
private $description;
|
private $description;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $name The argument name
|
* @param string $name The argument name
|
||||||
* @param int|null $mode The argument mode: self::REQUIRED or self::OPTIONAL
|
* @param int|null $mode The argument mode: self::REQUIRED or self::OPTIONAL
|
||||||
* @param string $description A description text
|
* @param string $description A description text
|
||||||
* @param mixed $default The default value (for self::OPTIONAL mode only)
|
* @param string|bool|int|float|array|null $default The default value (for self::OPTIONAL mode only)
|
||||||
*
|
*
|
||||||
* @throws InvalidArgumentException When argument mode is not valid
|
* @throws InvalidArgumentException When argument mode is not valid
|
||||||
*/
|
*/
|
||||||
@ -86,7 +86,7 @@ class InputArgument
|
|||||||
/**
|
/**
|
||||||
* Sets the default value.
|
* Sets the default value.
|
||||||
*
|
*
|
||||||
* @param mixed $default The default value
|
* @param string|bool|int|float|array|null $default
|
||||||
*
|
*
|
||||||
* @throws LogicException When incorrect default value is given
|
* @throws LogicException When incorrect default value is given
|
||||||
*/
|
*/
|
||||||
@ -110,7 +110,7 @@ class InputArgument
|
|||||||
/**
|
/**
|
||||||
* Returns the default value.
|
* Returns the default value.
|
||||||
*
|
*
|
||||||
* @return mixed
|
* @return string|bool|int|float|array|null
|
||||||
*/
|
*/
|
||||||
public function getDefault()
|
public function getDefault()
|
||||||
{
|
{
|
||||||
|
@ -185,9 +185,7 @@ class InputDefinition
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the default values.
|
* @return array<string|bool|int|float|array|null>
|
||||||
*
|
|
||||||
* @return array An array of default values
|
|
||||||
*/
|
*/
|
||||||
public function getArgumentDefaults()
|
public function getArgumentDefaults()
|
||||||
{
|
{
|
||||||
@ -316,9 +314,7 @@ class InputDefinition
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets an array of default values.
|
* @return array<string|bool|int|float|array|null>
|
||||||
*
|
|
||||||
* @return array An array of all default values
|
|
||||||
*/
|
*/
|
||||||
public function getOptionDefaults()
|
public function getOptionDefaults()
|
||||||
{
|
{
|
||||||
|
@ -51,9 +51,9 @@ interface InputInterface
|
|||||||
* Does not necessarily return the correct result for short options
|
* Does not necessarily return the correct result for short options
|
||||||
* when multiple flags are combined in the same option.
|
* when multiple flags are combined in the same option.
|
||||||
*
|
*
|
||||||
* @param string|array $values The value(s) to look for in the raw parameters (can be an array)
|
* @param string|array $values The value(s) to look for in the raw parameters (can be an array)
|
||||||
* @param mixed $default The default value to return if no result is found
|
* @param string|bool|int|float|array|null $default The default value to return if no result is found
|
||||||
* @param bool $onlyParams Only check real parameters, skip those following an end of options (--) signal
|
* @param bool $onlyParams Only check real parameters, skip those following an end of options (--) signal
|
||||||
*
|
*
|
||||||
* @return mixed The option value
|
* @return mixed The option value
|
||||||
*/
|
*/
|
||||||
@ -76,7 +76,7 @@ interface InputInterface
|
|||||||
/**
|
/**
|
||||||
* Returns all the given arguments merged with the default values.
|
* Returns all the given arguments merged with the default values.
|
||||||
*
|
*
|
||||||
* @return array
|
* @return array<string|bool|int|float|array|null>
|
||||||
*/
|
*/
|
||||||
public function getArguments();
|
public function getArguments();
|
||||||
|
|
||||||
@ -113,7 +113,7 @@ interface InputInterface
|
|||||||
/**
|
/**
|
||||||
* Returns all the given options merged with the default values.
|
* Returns all the given options merged with the default values.
|
||||||
*
|
*
|
||||||
* @return array
|
* @return array<string|bool|int|float|array|null>
|
||||||
*/
|
*/
|
||||||
public function getOptions();
|
public function getOptions();
|
||||||
|
|
||||||
|
@ -48,11 +48,9 @@ class InputOption
|
|||||||
private $description;
|
private $description;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $name The option name
|
* @param string|array|null $shortcut The shortcuts, can be null, a string of shortcuts delimited by | or an array of shortcuts
|
||||||
* @param string|array|null $shortcut The shortcuts, can be null, a string of shortcuts delimited by | or an array of shortcuts
|
* @param int|null $mode The option mode: One of the VALUE_* constants
|
||||||
* @param int|null $mode The option mode: One of the VALUE_* constants
|
* @param string|bool|int|float|array|null $default The default value (must be null for self::VALUE_NONE)
|
||||||
* @param string $description A description text
|
|
||||||
* @param mixed $default The default value (must be null for self::VALUE_NONE)
|
|
||||||
*
|
*
|
||||||
* @throws InvalidArgumentException If option mode is invalid or incompatible
|
* @throws InvalidArgumentException If option mode is invalid or incompatible
|
||||||
*/
|
*/
|
||||||
@ -162,11 +160,7 @@ class InputOption
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the default value.
|
* @param string|bool|int|float|array|null $default
|
||||||
*
|
|
||||||
* @param mixed $default The default value
|
|
||||||
*
|
|
||||||
* @throws LogicException When incorrect default value is given
|
|
||||||
*/
|
*/
|
||||||
public function setDefault($default = null)
|
public function setDefault($default = null)
|
||||||
{
|
{
|
||||||
@ -188,7 +182,7 @@ class InputOption
|
|||||||
/**
|
/**
|
||||||
* Returns the default value.
|
* Returns the default value.
|
||||||
*
|
*
|
||||||
* @return mixed
|
* @return string|bool|int|float|array|null
|
||||||
*/
|
*/
|
||||||
public function getDefault()
|
public function getDefault()
|
||||||
{
|
{
|
||||||
|
@ -32,8 +32,8 @@ class Question
|
|||||||
private $trimmable = true;
|
private $trimmable = true;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $question The question to ask to the user
|
* @param string $question The question to ask to the user
|
||||||
* @param mixed $default The default answer to return if the user enters nothing
|
* @param string|bool|int|float|null $default The default answer to return if the user enters nothing
|
||||||
*/
|
*/
|
||||||
public function __construct(string $question, $default = null)
|
public function __construct(string $question, $default = null)
|
||||||
{
|
{
|
||||||
@ -54,7 +54,7 @@ class Question
|
|||||||
/**
|
/**
|
||||||
* Returns the default answer.
|
* Returns the default answer.
|
||||||
*
|
*
|
||||||
* @return mixed
|
* @return string|bool|int|float|null
|
||||||
*/
|
*/
|
||||||
public function getDefault()
|
public function getDefault()
|
||||||
{
|
{
|
||||||
|
@ -109,7 +109,7 @@ class Container implements ResettableContainerInterface
|
|||||||
*
|
*
|
||||||
* @param string $name The parameter name
|
* @param string $name The parameter name
|
||||||
*
|
*
|
||||||
* @return mixed
|
* @return array|bool|string|int|float|null
|
||||||
*
|
*
|
||||||
* @throws InvalidArgumentException if the parameter is not defined
|
* @throws InvalidArgumentException if the parameter is not defined
|
||||||
*/
|
*/
|
||||||
@ -133,8 +133,8 @@ class Container implements ResettableContainerInterface
|
|||||||
/**
|
/**
|
||||||
* Sets a parameter.
|
* Sets a parameter.
|
||||||
*
|
*
|
||||||
* @param string $name The parameter name
|
* @param string $name The parameter name
|
||||||
* @param mixed $value The parameter value
|
* @param array|bool|string|int|float|null $value The parameter value
|
||||||
*/
|
*/
|
||||||
public function setParameter($name, $value)
|
public function setParameter($name, $value)
|
||||||
{
|
{
|
||||||
|
@ -74,7 +74,7 @@ interface ContainerInterface extends PsrContainerInterface
|
|||||||
*
|
*
|
||||||
* @param string $name The parameter name
|
* @param string $name The parameter name
|
||||||
*
|
*
|
||||||
* @return mixed The parameter value
|
* @return array|bool|string|int|float|null
|
||||||
*
|
*
|
||||||
* @throws InvalidArgumentException if the parameter is not defined
|
* @throws InvalidArgumentException if the parameter is not defined
|
||||||
*/
|
*/
|
||||||
@ -92,8 +92,8 @@ interface ContainerInterface extends PsrContainerInterface
|
|||||||
/**
|
/**
|
||||||
* Sets a parameter.
|
* Sets a parameter.
|
||||||
*
|
*
|
||||||
* @param string $name The parameter name
|
* @param string $name The parameter name
|
||||||
* @param mixed $value The parameter value
|
* @param array|bool|string|int|float|null $value The parameter value
|
||||||
*/
|
*/
|
||||||
public function setParameter($name, $value);
|
public function setParameter($name, $value);
|
||||||
}
|
}
|
||||||
|
@ -36,7 +36,7 @@ class ContainerBag extends FrozenParameterBag implements ContainerBagInterface
|
|||||||
/**
|
/**
|
||||||
* {@inheritdoc}
|
* {@inheritdoc}
|
||||||
*
|
*
|
||||||
* @return mixed
|
* @return array|bool|string|int|float|null
|
||||||
*/
|
*/
|
||||||
public function get($name)
|
public function get($name)
|
||||||
{
|
{
|
||||||
|
@ -47,7 +47,7 @@ interface ParameterBagInterface
|
|||||||
*
|
*
|
||||||
* @param string $name The parameter name
|
* @param string $name The parameter name
|
||||||
*
|
*
|
||||||
* @return mixed The parameter value
|
* @return array|bool|string|int|float|null
|
||||||
*
|
*
|
||||||
* @throws ParameterNotFoundException if the parameter is not defined
|
* @throws ParameterNotFoundException if the parameter is not defined
|
||||||
*/
|
*/
|
||||||
@ -63,8 +63,8 @@ interface ParameterBagInterface
|
|||||||
/**
|
/**
|
||||||
* Sets a service container parameter.
|
* Sets a service container parameter.
|
||||||
*
|
*
|
||||||
* @param string $name The parameter name
|
* @param string $name The parameter name
|
||||||
* @param mixed $value The parameter value
|
* @param array|bool|string|int|float|null $value The parameter value
|
||||||
*
|
*
|
||||||
* @throws LogicException if the parameter can not be set
|
* @throws LogicException if the parameter can not be set
|
||||||
*/
|
*/
|
||||||
|
@ -47,7 +47,6 @@ use Symfony\Component\DependencyInjection\Tests\Fixtures\StubbedTranslator;
|
|||||||
use Symfony\Component\DependencyInjection\Tests\Fixtures\TestDefinition1;
|
use Symfony\Component\DependencyInjection\Tests\Fixtures\TestDefinition1;
|
||||||
use Symfony\Component\DependencyInjection\Tests\Fixtures\TestServiceSubscriber;
|
use Symfony\Component\DependencyInjection\Tests\Fixtures\TestServiceSubscriber;
|
||||||
use Symfony\Component\DependencyInjection\TypedReference;
|
use Symfony\Component\DependencyInjection\TypedReference;
|
||||||
use Symfony\Component\DependencyInjection\Variable;
|
|
||||||
use Symfony\Component\ExpressionLanguage\Expression;
|
use Symfony\Component\ExpressionLanguage\Expression;
|
||||||
|
|
||||||
require_once __DIR__.'/../Fixtures/includes/autowiring_classes.php';
|
require_once __DIR__.'/../Fixtures/includes/autowiring_classes.php';
|
||||||
@ -164,28 +163,6 @@ class PhpDumperTest extends TestCase
|
|||||||
$this->assertStringEqualsFile(self::$fixturesPath.'/php/custom_container_class_with_mandatory_constructor_arguments.php', $dumper->dump(['base_class' => 'ConstructorWithMandatoryArgumentsContainer', 'namespace' => 'Symfony\Component\DependencyInjection\Tests\Fixtures\Container']));
|
$this->assertStringEqualsFile(self::$fixturesPath.'/php/custom_container_class_with_mandatory_constructor_arguments.php', $dumper->dump(['base_class' => 'ConstructorWithMandatoryArgumentsContainer', 'namespace' => 'Symfony\Component\DependencyInjection\Tests\Fixtures\Container']));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @dataProvider provideInvalidParameters
|
|
||||||
*/
|
|
||||||
public function testExportParameters($parameters)
|
|
||||||
{
|
|
||||||
$this->expectException(\InvalidArgumentException::class);
|
|
||||||
$container = new ContainerBuilder(new ParameterBag($parameters));
|
|
||||||
$container->compile();
|
|
||||||
$dumper = new PhpDumper($container);
|
|
||||||
$dumper->dump();
|
|
||||||
}
|
|
||||||
|
|
||||||
public function provideInvalidParameters()
|
|
||||||
{
|
|
||||||
return [
|
|
||||||
[['foo' => new Definition('stdClass')]],
|
|
||||||
[['foo' => new Expression('service("foo").foo() ~ (container.hasParameter("foo") ? parameter("foo") : "default")')]],
|
|
||||||
[['foo' => new Reference('foo')]],
|
|
||||||
[['foo' => new Variable('foo')]],
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
public function testAddParameters()
|
public function testAddParameters()
|
||||||
{
|
{
|
||||||
$container = include self::$fixturesPath.'/containers/container8.php';
|
$container = include self::$fixturesPath.'/containers/container8.php';
|
||||||
|
Reference in New Issue
Block a user