Skip to content

Commit

Permalink
Merge pull request #460 from syhol/patch-1
Browse files Browse the repository at this point in the history
Use variadic args in constructor
  • Loading branch information
mnapoli committed Mar 16, 2017
2 parents 1b1cb76 + 738527a commit 5211b8e
Showing 1 changed file with 1 addition and 21 deletions.
22 changes: 1 addition & 21 deletions src/DI/Definition/Resolver/ObjectCreator.php
Original file line number Diff line number Diff line change
Expand Up @@ -146,27 +146,7 @@ private function createInstance(ObjectDefinition $definition, array $parameters)
$parameters
);

// Optimization trick
switch (count($args)) {
case 0:
$object = new $classname;
break;
case 1:
$object = new $classname($args[0]);
break;
case 2:
$object = new $classname($args[0], $args[1]);
break;
case 3:
$object = new $classname($args[0], $args[1], $args[2]);
break;
case 4:
$object = new $classname($args[0], $args[1], $args[2], $args[3]);
break;
default:
$object = $classReflection->newInstanceArgs($args);
break;
}
$object = new $classname(...$args);

$this->injectMethodsAndProperties($object, $definition);
} catch (NotFoundException $e) {
Expand Down

0 comments on commit 5211b8e

Please sign in to comment.