From da23166db60726ace63643aba15d187ee04da6c1 Mon Sep 17 00:00:00 2001 From: David Grudl Date: Tue, 28 Sep 2021 11:54:42 +0200 Subject: [PATCH] option 'create' and setCreator() are use primary internally --- src/DI/Definitions/FactoryDefinition.php | 10 ++-- src/DI/Definitions/ServiceDefinition.php | 42 ++++++------- src/DI/Extensions/DefinitionSchema.php | 25 ++++---- src/DI/Extensions/InjectExtension.php | 2 +- src/DI/Extensions/ServicesExtension.php | 16 ++--- tests/DI/Compiler.extensionOverride.phpt | 60 +++++++++---------- tests/DI/Compiler.generatedFactory.phpt | 10 ++-- tests/DI/Compiler.loadConfig.include.phpt | 2 +- ...erExtension.loadDefinitionsFromConfig.phpt | 6 +- tests/DI/ContainerBuilder.accessor.phpt | 4 +- tests/DI/ContainerBuilder.aliases.phpt | 16 ++--- tests/DI/ContainerBuilder.aliases2.phpt | 4 +- tests/DI/ContainerBuilder.basic.phpt | 14 ++--- tests/DI/ContainerBuilder.basic2.phpt | 2 +- tests/DI/ContainerBuilder.basic3.phpt | 2 +- tests/DI/ContainerBuilder.byClass.phpt | 12 ++-- tests/DI/ContainerBuilder.factory.error.phpt | 26 ++++---- tests/DI/ContainerBuilder.factory.params.phpt | 8 +-- tests/DI/ContainerBuilder.factory.phpt | 4 +- ...erBuilder.factory.resolveBuiltinTypes.phpt | 16 ++--- ...ContainerBuilder.factory.resolveClass.phpt | 14 ++--- ...lder.factory.resolveClass.returnTypes.phpt | 2 +- tests/DI/ContainerBuilder.factory.rich.phpt | 4 +- tests/DI/ContainerBuilder.names.phpt | 6 +- tests/DI/ContainerBuilder.recursive.phpt | 4 +- tests/DI/ContainerBuilder.selfdependency.phpt | 2 +- tests/DI/DefinitionSchema.normalize.phpt | 14 ++--- tests/DI/Definitions.ServiceDefinition.phpt | 32 +++++----- 28 files changed, 180 insertions(+), 179 deletions(-) diff --git a/src/DI/Definitions/FactoryDefinition.php b/src/DI/Definitions/FactoryDefinition.php index 03a9b722b..abc6a1548 100644 --- a/src/DI/Definitions/FactoryDefinition.php +++ b/src/DI/Definitions/FactoryDefinition.php @@ -152,13 +152,13 @@ public function complete(Nette\DI\Resolver $resolver): void if (!$this->parameters) { $this->completeParameters($resolver); } - $this->convertArguments($resultDef->getFactory()->arguments); + $this->convertArguments($resultDef->getCreator()->arguments); foreach ($resultDef->getSetup() as $setup) { $this->convertArguments($setup->arguments); } - if ($resultDef->getEntity() instanceof Reference && !$resultDef->getFactory()->arguments) { - $resultDef->setFactory([ // render as $container->createMethod() + if ($resultDef->getEntity() instanceof Reference && !$resultDef->getCreator()->arguments) { + $resultDef->setCreator([ // render as $container->createMethod() new Reference(Nette\DI\ContainerBuilder::THIS_CONTAINER), Nette\DI\Container::getMethodName($resultDef->getEntity()->getValue()), ]); @@ -176,7 +176,7 @@ private function completeParameters(Nette\DI\Resolver $resolver): void $ctorParams = []; if ( - ($class = $resolver->resolveEntityType($this->resultDefinition->getFactory())) + ($class = $resolver->resolveEntityType($this->resultDefinition->getCreator())) && ($ctor = (new \ReflectionClass($class))->getConstructor()) ) { foreach ($ctor->getParameters() as $param) { @@ -197,7 +197,7 @@ private function completeParameters(Nette\DI\Resolver $resolver): void $class )); } - $this->resultDefinition->getFactory()->arguments[$ctorParam->getPosition()] = new Php\Literal('$' . $ctorParam->name); + $this->resultDefinition->getCreator()->arguments[$ctorParam->getPosition()] = new Php\Literal('$' . $ctorParam->name); } elseif (!$this->resultDefinition->getSetup()) { $hint = Nette\Utils\Helpers::getSuggestion(array_keys($ctorParams), $param->name); diff --git a/src/DI/Definitions/ServiceDefinition.php b/src/DI/Definitions/ServiceDefinition.php index 313d6b0fc..d60d176a6 100644 --- a/src/DI/Definitions/ServiceDefinition.php +++ b/src/DI/Definitions/ServiceDefinition.php @@ -23,7 +23,7 @@ final class ServiceDefinition extends Definition { /** @var Statement */ - private $factory; + private $creator; /** @var Statement[] */ private $setup = []; @@ -31,7 +31,7 @@ final class ServiceDefinition extends Definition public function __construct() { - $this->factory = new Statement(null); + $this->creator = new Statement(null); } @@ -48,16 +48,13 @@ public function setType(?string $type) */ public function setFactory($factory, array $args = []) { - $this->factory = $factory instanceof Statement - ? $factory - : new Statement($factory, $args); - return $this; + return $this->setCreator($factory, $args); } public function getFactory(): Statement { - return $this->factory; + return $this->creator; } @@ -67,27 +64,30 @@ public function getFactory(): Statement */ public function setCreator($creator, array $args = []) { - return $this->setFactory($creator, $args); + $this->creator = $creator instanceof Statement + ? $creator + : new Statement($creator, $args); + return $this; } public function getCreator(): Statement { - return $this->factory; + return $this->creator; } /** @return string|array|Definition|Reference|null */ public function getEntity() { - return $this->factory->getEntity(); + return $this->creator->getEntity(); } /** @return static */ public function setArguments(array $args = []) { - $this->factory->arguments = $args; + $this->creator->arguments = $args; return $this; } @@ -95,7 +95,7 @@ public function setArguments(array $args = []) /** @return static */ public function setArgument($key, $value) { - $this->factory->arguments[$key] = $value; + $this->creator->arguments[$key] = $value; return $this; } @@ -142,10 +142,10 @@ public function resolveType(Nette\DI\Resolver $resolver): void if (!$this->getType()) { throw new ServiceCreationException('Factory and type are missing in definition of service.'); } - $this->setFactory($this->getType(), $this->factory->arguments ?? []); + $this->setCreator($this->getType(), $this->creator->arguments ?? []); } elseif (!$this->getType()) { - $type = $resolver->resolveEntityType($this->factory); + $type = $resolver->resolveEntityType($this->creator); if (!$type) { throw new ServiceCreationException('Unknown service type, specify it or declare return type of factory.'); } @@ -162,13 +162,13 @@ public function resolveType(Nette\DI\Resolver $resolver): void public function complete(Nette\DI\Resolver $resolver): void { - $entity = $this->factory->getEntity(); - if ($entity instanceof Reference && !$this->factory->arguments && !$this->setup) { + $entity = $this->creator->getEntity(); + if ($entity instanceof Reference && !$this->creator->arguments && !$this->setup) { $ref = $resolver->normalizeReference($entity); - $this->setFactory([new Reference(Nette\DI\ContainerBuilder::THIS_CONTAINER), 'getService'], [$ref->getValue()]); + $this->setCreator([new Reference(Nette\DI\ContainerBuilder::THIS_CONTAINER), 'getService'], [$ref->getValue()]); } - $this->factory = $resolver->completeStatement($this->factory); + $this->creator = $resolver->completeStatement($this->creator); foreach ($this->setup as &$setup) { if ( @@ -184,8 +184,8 @@ public function complete(Nette\DI\Resolver $resolver): void public function generateMethod(Nette\PhpGenerator\Method $method, Nette\DI\PhpGenerator $generator): void { - $entity = $this->factory->getEntity(); - $code = $generator->formatStatement($this->factory) . ";\n"; + $entity = $this->creator->getEntity(); + $code = $generator->formatStatement($this->creator) . ";\n"; if (!$this->setup) { $method->setBody('return ' . $code); return; @@ -217,7 +217,7 @@ public function generateMethod(Nette\PhpGenerator\Method $method, Nette\DI\PhpGe public function __clone() { parent::__clone(); - $this->factory = unserialize(serialize($this->factory)); + $this->creator = unserialize(serialize($this->creator)); $this->setup = unserialize(serialize($this->setup)); } } diff --git a/src/DI/Extensions/DefinitionSchema.php b/src/DI/Extensions/DefinitionSchema.php index 727c217c4..c2e04c954 100644 --- a/src/DI/Extensions/DefinitionSchema.php +++ b/src/DI/Extensions/DefinitionSchema.php @@ -84,28 +84,29 @@ public function normalize($def, Context $context) $res += $def->arguments; } elseif (count($def->arguments) > 1) { $res['references'] = $def->arguments; - } elseif ($factory = array_shift($def->arguments)) { - $res['factory'] = $factory; + } elseif ($creator = array_shift($def->arguments)) { + $res['create'] = $creator; } return $res; } elseif (!is_array($def) || isset($def[0], $def[1])) { - return ['factory' => $def]; + return ['create' => $def]; } elseif (is_array($def)) { - if (isset($def['create']) && !isset($def['factory'])) { - $def['factory'] = $def['create']; - unset($def['create']); - } // back compatibility + if (isset($def['factory']) && !isset($def['create'])) { + $def['create'] = $def['factory']; + unset($def['factory']); + } + if ( isset($def['class']) && !isset($def['type']) - && !isset($def['factory']) + && !isset($def['create']) && !isset($def['dynamic']) && !isset($def['imported']) ) { - $def['factory'] = $def['class']; + $def['create'] = $def['class']; unset($def['class']); } @@ -197,7 +198,7 @@ private static function getServiceSchema(): Schema { return Expect::structure([ 'type' => Expect::type('string'), - 'factory' => Expect::type('callable|Nette\DI\Definitions\Statement'), + 'create' => Expect::type('callable|Nette\DI\Definitions\Statement'), 'arguments' => Expect::array(), 'setup' => Expect::listOf('callable|Nette\DI\Definitions\Statement|array:1'), 'inject' => Expect::bool(), @@ -214,7 +215,7 @@ private static function getAccessorSchema(): Schema return Expect::structure([ 'type' => Expect::string(), 'implement' => Expect::string(), - 'factory' => Expect::type('callable|Nette\DI\Definitions\Statement'), + 'create' => Expect::type('callable|Nette\DI\Definitions\Statement'), 'autowired' => Expect::type('bool|string|array'), 'tags' => Expect::array(), ]); @@ -225,7 +226,7 @@ private static function getFactorySchema(): Schema { return Expect::structure([ 'type' => Expect::string(), - 'factory' => Expect::type('callable|Nette\DI\Definitions\Statement'), + 'create' => Expect::type('callable|Nette\DI\Definitions\Statement'), 'implement' => Expect::string(), 'arguments' => Expect::array(), 'setup' => Expect::listOf('callable|Nette\DI\Definitions\Statement|array:1'), diff --git a/src/DI/Extensions/InjectExtension.php b/src/DI/Extensions/InjectExtension.php index a152c7875..717114ccc 100644 --- a/src/DI/Extensions/InjectExtension.php +++ b/src/DI/Extensions/InjectExtension.php @@ -46,7 +46,7 @@ public function beforeCompile() private function updateDefinition(Definitions\ServiceDefinition $def): void { - $resolvedType = (new DI\Resolver($this->getContainerBuilder()))->resolveEntityType($def->getFactory()); + $resolvedType = (new DI\Resolver($this->getContainerBuilder()))->resolveEntityType($def->getCreator()); $class = is_subclass_of($resolvedType, $def->getType()) ? $resolvedType : $def->getType(); diff --git a/src/DI/Extensions/ServicesExtension.php b/src/DI/Extensions/ServicesExtension.php index d1febbf42..3f5ef03d7 100644 --- a/src/DI/Extensions/ServicesExtension.php +++ b/src/DI/Extensions/ServicesExtension.php @@ -80,8 +80,8 @@ private function loadDefinition(?string $name, \stdClass $config): void */ private function updateServiceDefinition(Definitions\ServiceDefinition $definition, \stdClass $config): void { - if ($config->factory) { - $definition->setFactory(Helpers::filterArguments([$config->factory])[0]); + if ($config->create) { + $definition->setCreator(Helpers::filterArguments([$config->create])[0]); $definition->setType(null); } @@ -92,7 +92,7 @@ private function updateServiceDefinition(Definitions\ServiceDefinition $definiti if ($config->arguments) { $arguments = Helpers::filterArguments($config->arguments); if (empty($config->reset['arguments']) && !Nette\Utils\Arrays::isList($arguments)) { - $arguments += $definition->getFactory()->arguments; + $arguments += $definition->getCreator()->arguments; } $definition->setArguments($arguments); } @@ -121,7 +121,7 @@ private function updateAccessorDefinition(Definitions\AccessorDefinition $defini $definition->setImplement($config->implement); } - if ($ref = $config->factory ?? $config->type ?? null) { + if ($ref = $config->create ?? $config->type ?? null) { $definition->setReference($ref); } } @@ -136,18 +136,18 @@ private function updateFactoryDefinition(Definitions\FactoryDefinition $definiti $definition->setAutowired(true); } - if ($config->factory) { - $resultDef->setFactory(Helpers::filterArguments([$config->factory])[0]); + if ($config->create) { + $resultDef->setCreator(Helpers::filterArguments([$config->create])[0]); } if ($config->type) { - $resultDef->setFactory($config->type); + $resultDef->setCreator($config->type); } if ($config->arguments) { $arguments = Helpers::filterArguments($config->arguments); if (empty($config->reset['arguments']) && !Nette\Utils\Arrays::isList($arguments)) { - $arguments += $resultDef->getFactory()->arguments; + $arguments += $resultDef->getCreator()->arguments; } $resultDef->setArguments($arguments); } diff --git a/tests/DI/Compiler.extensionOverride.phpt b/tests/DI/Compiler.extensionOverride.phpt index 2adb5619f..24b8f0148 100644 --- a/tests/DI/Compiler.extensionOverride.phpt +++ b/tests/DI/Compiler.extensionOverride.phpt @@ -55,79 +55,79 @@ class FooExtension extends Nette\DI\CompilerExtension $builder = $this->getContainerBuilder(); $builder->addDefinition('one1') - ->setFactory(Lorem::class, [1]); + ->setCreator(Lorem::class, [1]); $builder->addDefinition('one2') - ->setFactory(Lorem::class, [1]); + ->setCreator(Lorem::class, [1]); $builder->addDefinition('one3') - ->setFactory(Lorem::class, [1]); + ->setCreator(Lorem::class, [1]); $builder->addDefinition('one4') - ->setFactory(Lorem::class, [1]); + ->setCreator(Lorem::class, [1]); $builder->addDefinition('one5') - ->setFactory(Lorem::class, [1]); + ->setCreator(Lorem::class, [1]); $builder->addDefinition('one6') - ->setFactory(Lorem::class, [1]); + ->setCreator(Lorem::class, [1]); $builder->addDefinition('one7') - ->setFactory(Lorem::class, [1]); + ->setCreator(Lorem::class, [1]); $builder->addDefinition('one8') - ->setFactory(Lorem::class, [1]) + ->setCreator(Lorem::class, [1]) ->addSetup('__construct', [2]); $builder->addDefinition('one9') - ->setFactory(Lorem::class, [1]); + ->setCreator(Lorem::class, [1]); $builder->addDefinition('one10') - ->setFactory(Lorem::class, [1]); + ->setCreator(Lorem::class, [1]); $builder->addDefinition('two1') ->setType(Lorem::class) - ->setFactory('Factory::createLorem', [1]); + ->setCreator('Factory::createLorem', [1]); $builder->addDefinition('two2') ->setType(Lorem::class) - ->setFactory('Factory::createLorem', [1]); + ->setCreator('Factory::createLorem', [1]); $builder->addDefinition('two3') ->setType(Lorem::class) - ->setFactory('Factory::createLorem', [1]); + ->setCreator('Factory::createLorem', [1]); $builder->addDefinition('two4') ->setType(Lorem::class) - ->setFactory('Factory::createLorem', [1, 2]); + ->setCreator('Factory::createLorem', [1, 2]); $builder->addDefinition('two5') ->setType(Lorem::class) - ->setFactory('Factory::createLorem', [1]); + ->setCreator('Factory::createLorem', [1]); $builder->addDefinition('two6') ->setType(Lorem::class) - ->setFactory('Factory::createLorem', [1, 2]); + ->setCreator('Factory::createLorem', [1, 2]); $builder->addDefinition('two7') ->setType(Lorem::class) - ->setFactory('Factory::createLorem', [1]); + ->setCreator('Factory::createLorem', [1]); $builder->addDefinition('two8') ->setType(Lorem::class) - ->setFactory('Factory::createLorem', [1, 2]); + ->setCreator('Factory::createLorem', [1, 2]); $builder->addDefinition('two9') ->setType(Lorem::class) - ->setFactory('Factory::createLorem', [1, 2]); + ->setCreator('Factory::createLorem', [1, 2]); $builder->addDefinition('two10') ->setType(Lorem::class) - ->setFactory('Factory::createLorem', [1]); + ->setCreator('Factory::createLorem', [1]); $builder->addDefinition('two11') ->setType(Lorem::class) - ->setFactory('Factory::createLorem', [1]); + ->setCreator('Factory::createLorem', [1]); $builder->addDefinition('three1') - ->setFactory('Factory::createLorem', [1]); + ->setCreator('Factory::createLorem', [1]); $builder->addDefinition('three2') - ->setFactory('Factory::createLorem', [1]); + ->setCreator('Factory::createLorem', [1]); $builder->addDefinition('three3') - ->setFactory('Factory::createLorem', [1]); + ->setCreator('Factory::createLorem', [1]); $builder->addDefinition('three4') - ->setFactory('Factory::createLorem', [1]); + ->setCreator('Factory::createLorem', [1]); $builder->addDefinition('three5') - ->setFactory('Factory::createLorem', [1]); + ->setCreator('Factory::createLorem', [1]); $builder->addDefinition('three6') - ->setFactory('Factory::createLorem', [1]); + ->setCreator('Factory::createLorem', [1]); $builder->addDefinition('three7') - ->setFactory('Factory::createLorem', [1]); + ->setCreator('Factory::createLorem', [1]); $builder->addDefinition('three8') - ->setFactory('Factory::createLorem', [1]); + ->setCreator('Factory::createLorem', [1]); $builder->addDefinition('three9') - ->setFactory('Factory::createLorem', [1]); + ->setCreator('Factory::createLorem', [1]); } } diff --git a/tests/DI/Compiler.generatedFactory.phpt b/tests/DI/Compiler.generatedFactory.phpt index e4325f33a..0044775f9 100644 --- a/tests/DI/Compiler.generatedFactory.phpt +++ b/tests/DI/Compiler.generatedFactory.phpt @@ -142,7 +142,7 @@ class TestExtension extends DI\CompilerExtension ->setParameters(['Baz baz' => null]) ->setImplement(IFooFactory::class) ->getResultDefinition() - ->setFactory(Foo::class) + ->setCreator(Foo::class) ->setArguments([1 => $builder::literal('$baz')]); $builder->addFactoryDefinition('overridenFactory') @@ -279,7 +279,7 @@ Assert::exception(function () { $builder->addFactoryDefinition('one') ->setImplement(Bad2::class) ->getResultDefinition() - ->setFactory(Bad1::class); + ->setCreator(Bad1::class); $builder->complete(); }, Nette\InvalidStateException::class, "Service 'one' (type of Bad2): Type of \$bar in Bad2::create() doesn't match type in Bad1 constructor."); @@ -302,7 +302,7 @@ Assert::exception(function () { $builder->addFactoryDefinition('one') ->setImplement(Bad4::class) ->getResultDefinition() - ->setFactory(Bad3::class); + ->setCreator(Bad3::class); $builder->complete(); }, Nette\InvalidStateException::class, "Service 'one' (type of Bad4): Unused parameter \$baz when implementing method Bad4::create(), did you mean \$bar?"); @@ -325,7 +325,7 @@ Assert::exception(function () { $builder->addFactoryDefinition('one') ->setImplement(Bad6::class) ->getResultDefinition() - ->setFactory(Bad5::class); + ->setCreator(Bad5::class); $builder->complete(); }, Nette\InvalidStateException::class, "Service 'one' (type of Bad6): Unused parameter \$baz when implementing method Bad6::create()."); @@ -338,7 +338,7 @@ interface Bad7 Assert::exception(function () { $builder = new DI\ContainerBuilder; - $builder->addDefinition(stdClass::class)->setFactory(stdClass::class); + $builder->addDefinition(stdClass::class)->setCreator(stdClass::class); $builder->addAccessorDefinition('one') ->setImplement(Bad7::class) ->setClass(stdClass::class) diff --git a/tests/DI/Compiler.loadConfig.include.phpt b/tests/DI/Compiler.loadConfig.include.phpt index 4f3f78b1f..26d00f815 100644 --- a/tests/DI/Compiler.loadConfig.include.phpt +++ b/tests/DI/Compiler.loadConfig.include.phpt @@ -41,7 +41,7 @@ Assert::equal([ 'services' => [ 'a' => (object) [ 'type' => null, - 'factory' => stdClass::class, + 'create' => stdClass::class, 'arguments' => [], 'setup' => [], 'inject' => null, diff --git a/tests/DI/CompilerExtension.loadDefinitionsFromConfig.phpt b/tests/DI/CompilerExtension.loadDefinitionsFromConfig.phpt index 08cd2b8b0..17e1c2d04 100644 --- a/tests/DI/CompilerExtension.loadDefinitionsFromConfig.phpt +++ b/tests/DI/CompilerExtension.loadDefinitionsFromConfig.phpt @@ -27,6 +27,6 @@ $compilerExtension = (new CompilerExtension)->setCompiler($compiler, 'blog'); $compilerExtension->loadDefinitionsFromConfig($config['services']); -Assert::same('@blog.articles', $builder->getDefinition('blog.comments')->getFactory()->arguments[1]); -Assert::equal(new Reference('blog.articles'), $builder->getDefinition('blog.articlesList')->getFactory()->arguments[0]); -Assert::equal(new Reference('blog.comments'), $builder->getDefinition('blog.commentsControl')->getFactory()->arguments[0]->getEntity()); +Assert::same('@blog.articles', $builder->getDefinition('blog.comments')->getCreator()->arguments[1]); +Assert::equal(new Reference('blog.articles'), $builder->getDefinition('blog.articlesList')->getCreator()->arguments[0]); +Assert::equal(new Reference('blog.comments'), $builder->getDefinition('blog.commentsControl')->getCreator()->arguments[0]->getEntity()); diff --git a/tests/DI/ContainerBuilder.accessor.phpt b/tests/DI/ContainerBuilder.accessor.phpt index 6333ba56d..e6b528e09 100644 --- a/tests/DI/ContainerBuilder.accessor.phpt +++ b/tests/DI/ContainerBuilder.accessor.phpt @@ -38,11 +38,11 @@ class AccessorReceiver $builder = new DI\ContainerBuilder; $builder->addDefinition('service') - ->setFactory(stdClass::class); + ->setCreator(stdClass::class); $builder->addDefinition('service2') ->setAutowired(false) - ->setFactory(stdClass::class); + ->setCreator(stdClass::class); $builder->addAccessorDefinition('one') ->setImplement(StdClassAccessor::class) diff --git a/tests/DI/ContainerBuilder.aliases.phpt b/tests/DI/ContainerBuilder.aliases.phpt index 3b06f544a..8e0927ad4 100644 --- a/tests/DI/ContainerBuilder.aliases.phpt +++ b/tests/DI/ContainerBuilder.aliases.phpt @@ -30,38 +30,38 @@ interface ServiceFactory2 $builder = new DI\ContainerBuilder; $builder->addDefinition('aliasForFactory') - ->setFactory('@serviceFactory'); + ->setCreator('@serviceFactory'); $builder->addDefinition('aliasForFactoryViaClass') - ->setFactory('@\ServiceFactory'); + ->setCreator('@\ServiceFactory'); $builder->addFactoryDefinition('aliasedFactory') ->setImplement(ServiceFactory::class) ->setAutowired(false) ->getResultDefinition() - ->setFactory('@serviceFactory'); + ->setCreator('@serviceFactory'); $builder->addFactoryDefinition('aliasedFactoryViaClass') ->setImplement(ServiceFactory::class) ->setAutowired(false) ->getResultDefinition() - ->setFactory('@\ServiceFactory'); + ->setCreator('@\ServiceFactory'); $builder->addDefinition('aliasedService') - ->setFactory('@service'); + ->setCreator('@service'); $builder->addDefinition('aliasedServiceViaClass') - ->setFactory('@\Service'); + ->setCreator('@\Service'); $builder->addFactoryDefinition('serviceFactory') ->setImplement(ServiceFactory::class) ->getResultDefinition() - ->setFactory('@service'); + ->setCreator('@service'); $builder->addFactoryDefinition('serviceFactoryViaClass') ->setImplement(ServiceFactory2::class) ->getResultDefinition() - ->setFactory('@\Service'); + ->setCreator('@\Service'); $builder->addDefinition('service') ->setType(Service::class); diff --git a/tests/DI/ContainerBuilder.aliases2.phpt b/tests/DI/ContainerBuilder.aliases2.phpt index b4ed8db61..944cbbbe5 100644 --- a/tests/DI/ContainerBuilder.aliases2.phpt +++ b/tests/DI/ContainerBuilder.aliases2.phpt @@ -32,12 +32,12 @@ $builder = new DI\ContainerBuilder; $builder->addFactoryDefinition('serviceFactory') ->setImplement(ServiceFactory::class) ->getResultDefinition() - ->setFactory('@service'); + ->setCreator('@service'); $builder->addFactoryDefinition('serviceFactoryViaClass') ->setImplement(ServiceFactory2::class) ->getResultDefinition() - ->setFactory('@\Service'); + ->setCreator('@\Service'); $builder->addDefinition('service') ->setType(stdClass::class); diff --git a/tests/DI/ContainerBuilder.basic.phpt b/tests/DI/ContainerBuilder.basic.phpt index 66bc51bc1..c6b220abe 100644 --- a/tests/DI/ContainerBuilder.basic.phpt +++ b/tests/DI/ContainerBuilder.basic.phpt @@ -40,31 +40,31 @@ class Service $builder = new DI\ContainerBuilder; $builder->addDefinition('one') - ->setFactory(Service::class, ['@@string']); + ->setCreator(Service::class, ['@@string']); $builder->addDefinition('three') - ->setFactory(Service::class, ['a', 'b']); + ->setCreator(Service::class, ['a', 'b']); $builder->addDefinition('four') - ->setFactory(Service::class, ['a', 'b']) + ->setCreator(Service::class, ['a', 'b']) ->addSetup('methodA', ['a', 'b']) ->addSetup('@four::methodB', [1, 2]) ->addSetup('methodC', ['@self', '@container']) ->addSetup('methodD', ['@one']); $builder->addDefinition('five', null) - ->setFactory('Service::create'); + ->setCreator('Service::create'); $six = $builder->addDefinition('six') - ->setFactory('Service::create', ['@container', 'a', 'b']) + ->setCreator('Service::create', ['@container', 'a', 'b']) ->addSetup(['@six', 'methodA'], ['a', 'b']); $builder->addDefinition('seven') - ->setFactory([$six, 'create'], ['@container', $six]) + ->setCreator([$six, 'create'], ['@container', $six]) ->addSetup([$six, 'methodA']) ->addSetup('$service->methodA(?)', ['a']); $six = $builder->addDefinition('eight') - ->setFactory('Service::create', [new Reference('container'), 'a', 'b']) + ->setCreator('Service::create', [new Reference('container'), 'a', 'b']) ->addSetup([new Reference('self'), 'methodA'], [new Reference('eight'), new Reference('self')]) ->addSetup([new Reference('eight'), 'methodB']) ->addSetup([new Reference('six'), 'methodC']) diff --git a/tests/DI/ContainerBuilder.basic2.phpt b/tests/DI/ContainerBuilder.basic2.phpt index 1bda434e5..a042e2e2f 100644 --- a/tests/DI/ContainerBuilder.basic2.phpt +++ b/tests/DI/ContainerBuilder.basic2.phpt @@ -29,7 +29,7 @@ class Factory $builder = new DI\ContainerBuilder; $builder->addDefinition('one') - ->setFactory('Factory::create'); + ->setCreator('Factory::create'); $container = createContainer($builder); diff --git a/tests/DI/ContainerBuilder.basic3.phpt b/tests/DI/ContainerBuilder.basic3.phpt index e124ec100..ad684c8ef 100644 --- a/tests/DI/ContainerBuilder.basic3.phpt +++ b/tests/DI/ContainerBuilder.basic3.phpt @@ -21,7 +21,7 @@ function create(): stdClass $builder = new DI\ContainerBuilder; $builder->addDefinition('one') - ->setFactory('::create'); + ->setCreator('::create'); $container = createContainer($builder); diff --git a/tests/DI/ContainerBuilder.byClass.phpt b/tests/DI/ContainerBuilder.byClass.phpt index b73309432..744a47218 100644 --- a/tests/DI/ContainerBuilder.byClass.phpt +++ b/tests/DI/ContainerBuilder.byClass.phpt @@ -72,30 +72,30 @@ $builder->addDefinition('annotatedFactory') $builder->addDefinition('two') ->setType(stdClass::class) ->setAutowired(false) - ->setFactory('@factory::create', ['@\Factory']) + ->setCreator('@factory::create', ['@\Factory']) ->addSetup(['@\Factory', 'create'], ['@\Factory']); $builder->addDefinition('three') ->setType(stdClass::class) ->setAutowired(false) - ->setFactory('@\Factory::create', ['@\Factory']); + ->setCreator('@\Factory::create', ['@\Factory']); $builder->addDefinition('four') ->setAutowired(false) - ->setFactory('@\AnnotatedFactory::create'); + ->setCreator('@\AnnotatedFactory::create'); $builder->addDefinition('five') ->setType(stdClass::class) ->setAutowired(false) - ->setFactory('@\IFactory::create'); + ->setCreator('@\IFactory::create'); $builder->addDefinition('uninstantiableFactory') ->setType(UninstantiableFactory::class) - ->setFactory('UninstantiableFactory::getInstance'); + ->setCreator('UninstantiableFactory::getInstance'); $builder->addDefinition('six') ->setAutowired(false) - ->setFactory('@\UninstantiableFactory::create'); + ->setCreator('@\UninstantiableFactory::create'); diff --git a/tests/DI/ContainerBuilder.factory.error.phpt b/tests/DI/ContainerBuilder.factory.error.phpt index 008081d81..77e6cbaff 100644 --- a/tests/DI/ContainerBuilder.factory.error.phpt +++ b/tests/DI/ContainerBuilder.factory.error.phpt @@ -17,43 +17,43 @@ require __DIR__ . '/../bootstrap.php'; Assert::exception(function () { $builder = new DI\ContainerBuilder; - $builder->addDefinition('one')->setType('X')->setFactory('Unknown'); + $builder->addDefinition('one')->setType('X')->setCreator('Unknown'); }, Nette\InvalidArgumentException::class, "Service 'one': Class or interface 'X' not found."); Assert::exception(function () { $builder = new DI\ContainerBuilder; - $builder->addDefinition(null)->setFactory('Unknown'); + $builder->addDefinition(null)->setCreator('Unknown'); $builder->complete(); }, Nette\DI\ServiceCreationException::class, "Service (Unknown::__construct()): Class 'Unknown' not found."); Assert::exception(function () { $builder = new DI\ContainerBuilder; - $builder->addDefinition('one')->setFactory('@two'); - $builder->addDefinition('two')->setFactory('Unknown'); + $builder->addDefinition('one')->setCreator('@two'); + $builder->addDefinition('two')->setCreator('Unknown'); $builder->complete(); }, Nette\InvalidStateException::class, "Service 'two': Class 'Unknown' not found."); Assert::exception(function () { $builder = new DI\ContainerBuilder; - $builder->addDefinition('one')->setFactory(new Reference('two')); - $builder->addDefinition('two')->setFactory('Unknown'); + $builder->addDefinition('one')->setCreator(new Reference('two')); + $builder->addDefinition('two')->setCreator('Unknown'); $builder->complete(); }, Nette\InvalidStateException::class, "Service 'two': Class 'Unknown' not found."); Assert::exception(function () { $builder = new DI\ContainerBuilder; - $builder->addDefinition('one')->setFactory('stdClass::foo'); + $builder->addDefinition('one')->setCreator('stdClass::foo'); $builder->complete(); }, Nette\InvalidStateException::class, "Service 'one': Method stdClass::foo() is not callable."); Assert::exception(function () { $builder = new DI\ContainerBuilder; - $builder->addDefinition('one')->setFactory('Nette\DI\Container::foo'); // has __magic + $builder->addDefinition('one')->setCreator('Nette\DI\Container::foo'); // has __magic $builder->complete(); }, Nette\InvalidStateException::class, "Service 'one': Method Nette\\DI\\Container::foo() is not callable."); @@ -101,7 +101,7 @@ class Bad6 Assert::exception(function () { $builder = new DI\ContainerBuilder; - $builder->addDefinition('one')->setFactory('Bad6::create'); + $builder->addDefinition('one')->setCreator('Bad6::create'); $builder->complete(); }, Nette\DI\ServiceCreationException::class, "Service 'one': Method Bad6::create() is not callable."); @@ -115,7 +115,7 @@ class Bad7 Assert::exception(function () { $builder = new DI\ContainerBuilder; - $builder->addDefinition('one')->setFactory('Bad7::create'); + $builder->addDefinition('one')->setCreator('Bad7::create'); $builder->complete(); }, Nette\DI\ServiceCreationException::class, "Service 'one': Unknown service type, specify it or declare return type of factory."); @@ -144,14 +144,14 @@ class Good // fail in argument Assert::exception(function () { $builder = new DI\ContainerBuilder; - $builder->addDefinition('one')->setFactory(Good::class, [new Statement('Unknown')]); + $builder->addDefinition('one')->setCreator(Good::class, [new Statement('Unknown')]); $builder->complete(); }, Nette\InvalidStateException::class, "Service 'one' (type of Good): Class 'Unknown' not found. (used in Good::__construct())"); // fail in argument Assert::exception(function () { $builder = new DI\ContainerBuilder; - $builder->addDefinition('one')->setFactory(Good::class, [new Statement(Bad8::class)]); + $builder->addDefinition('one')->setCreator(Good::class, [new Statement(Bad8::class)]); $builder->complete(); }, Nette\InvalidStateException::class, "Service 'one' (type of Good): Class Bad8 has private constructor. (used in Good::__construct())"); @@ -181,7 +181,7 @@ trait Bad10 // trait cannot be instantiated Assert::exception(function () { $builder = new DI\ContainerBuilder; - $builder->addDefinition('one')->setFactory('Bad10::method'); + $builder->addDefinition('one')->setCreator('Bad10::method'); $builder->complete(); }, Nette\InvalidStateException::class, "Service 'one': Method Bad10::method() is not callable."); diff --git a/tests/DI/ContainerBuilder.factory.params.phpt b/tests/DI/ContainerBuilder.factory.params.phpt index a5e1d25e2..4b44ac44c 100644 --- a/tests/DI/ContainerBuilder.factory.params.phpt +++ b/tests/DI/ContainerBuilder.factory.params.phpt @@ -23,25 +23,25 @@ $builder = new DI\ContainerBuilder; $builder->addFactoryDefinition('one') ->setImplement(StdClassFactory::class) ->getResultDefinition() - ->setFactory(stdClass::class) + ->setCreator(stdClass::class) ->addSetup('$a', [$builder::literal('$a')]); @$builder->addFactoryDefinition('two') ->setParameters(['stdClass foo', 'array bar', 'foobar' => null]) // parameters is deprecated ->setImplement(StdClassFactory::class) ->getResultDefinition() - ->setFactory(stdClass::class) + ->setCreator(stdClass::class) ->addSetup('$a', [$builder::literal('$foo')]); $builder->addDefinition('three') ->setType(stdClass::class); $builder->addDefinition('four') - ->setFactory('@one::create', [1 => [1]]) + ->setCreator('@one::create', [1 => [1]]) ->setAutowired(false); $builder->addDefinition('five') - ->setFactory('@two::create', [1 => [1]]) + ->setCreator('@two::create', [1 => [1]]) ->setAutowired(false); diff --git a/tests/DI/ContainerBuilder.factory.phpt b/tests/DI/ContainerBuilder.factory.phpt index cb31f1c47..7c1b277c6 100644 --- a/tests/DI/ContainerBuilder.factory.phpt +++ b/tests/DI/ContainerBuilder.factory.phpt @@ -36,7 +36,7 @@ $builder = new DI\ContainerBuilder; $builder->addFactoryDefinition('one') ->setImplement(StdClassFactory::class) ->getResultDefinition() - ->setFactory(stdClass::class); + ->setCreator(stdClass::class); @$builder->addFactoryDefinition('two') ->setImplement(AnnotatedFactory::class); // missing type triggers warning @@ -45,7 +45,7 @@ $builder->addDefinition('three') ->setType(FactoryReceiver::class); $builder->addDefinition('four') - ->setFactory(FactoryReceiver::class, ['@one']); + ->setCreator(FactoryReceiver::class, ['@one']); $container = createContainer($builder); diff --git a/tests/DI/ContainerBuilder.factory.resolveBuiltinTypes.phpt b/tests/DI/ContainerBuilder.factory.resolveBuiltinTypes.phpt index aae931c9b..c0ffe9ffa 100644 --- a/tests/DI/ContainerBuilder.factory.resolveBuiltinTypes.phpt +++ b/tests/DI/ContainerBuilder.factory.resolveBuiltinTypes.phpt @@ -80,7 +80,7 @@ namespace $builder->addDefinition('factory') ->setType(A\Factory::class); $builder->addDefinition('a') - ->setFactory('@factory::createArray'); + ->setCreator('@factory::createArray'); $container = @createContainer($builder); // annotation @return is deprecated }, Nette\DI\ServiceCreationException::class, "Service 'a': Return type of A\\Factory::createArray() is not expected to be nullable/union/intersection/built-in, 'array' given."); @@ -89,7 +89,7 @@ namespace $builder->addDefinition('factory') ->setType(A\Factory::class); $builder->addDefinition('c') - ->setFactory('@factory::createCallable'); + ->setCreator('@factory::createCallable'); $container = @createContainer($builder); // annotation @return is deprecated }, Nette\DI\ServiceCreationException::class, "Service 'c': Return type of A\\Factory::createCallable() is not expected to be nullable/union/intersection/built-in, 'callable' given."); @@ -98,7 +98,7 @@ namespace $builder->addDefinition('factory') ->setType(A\Factory::class); $builder->addDefinition('s') - ->setFactory('@factory::createString'); + ->setCreator('@factory::createString'); $container = @createContainer($builder); // annotation @return is deprecated }, Nette\DI\ServiceCreationException::class, "Service 's': Return type of A\\Factory::createString() is not expected to be nullable/union/intersection/built-in, 'string' given."); @@ -107,7 +107,7 @@ namespace $builder->addDefinition('factory') ->setType(A\Factory::class); $builder->addDefinition('i') - ->setFactory('@factory::createInt'); + ->setCreator('@factory::createInt'); $container = @createContainer($builder); // annotation @return is deprecated }, Nette\DI\ServiceCreationException::class, "Service 'i': Return type of A\\Factory::createInt() is not expected to be nullable/union/intersection/built-in, 'int' given."); @@ -116,7 +116,7 @@ namespace $builder->addDefinition('factory') ->setType(A\Factory::class); $builder->addDefinition('b') - ->setFactory('@factory::createBool'); + ->setCreator('@factory::createBool'); $container = @createContainer($builder); // annotation @return is deprecated }, Nette\DI\ServiceCreationException::class, "Service 'b': Return type of A\\Factory::createBool() is not expected to be nullable/union/intersection/built-in, 'bool' given."); @@ -125,7 +125,7 @@ namespace $builder->addDefinition('factory') ->setType(A\Factory::class); $builder->addDefinition('f') - ->setFactory('@factory::createFloat'); + ->setCreator('@factory::createFloat'); $container = @createContainer($builder); // annotation @return is deprecated }, Nette\DI\ServiceCreationException::class, "Service 'f': Return type of A\\Factory::createFloat() is not expected to be nullable/union/intersection/built-in, 'float' given."); @@ -134,7 +134,7 @@ namespace $builder->addDefinition('factory') ->setType(A\Factory::class); $builder->addDefinition('f') - ->setFactory('@factory::createObject'); + ->setCreator('@factory::createObject'); $container = @createContainer($builder); // annotation @return is deprecated }, Nette\DI\ServiceCreationException::class, "Service 'f': Unknown service type, specify it or declare return type of factory."); @@ -143,7 +143,7 @@ namespace $builder->addDefinition('factory') ->setType(A\Factory::class); $builder->addDefinition('f') - ->setFactory('@factory::createMixed'); + ->setCreator('@factory::createMixed'); $container = @createContainer($builder); // annotation @return is deprecated }, Nette\DI\ServiceCreationException::class, "Service 'f': Unknown service type, specify it or declare return type of factory."); diff --git a/tests/DI/ContainerBuilder.factory.resolveClass.phpt b/tests/DI/ContainerBuilder.factory.resolveClass.phpt index efaf5101f..8f021c681 100644 --- a/tests/DI/ContainerBuilder.factory.resolveClass.phpt +++ b/tests/DI/ContainerBuilder.factory.resolveClass.phpt @@ -70,33 +70,33 @@ namespace $builder->addFactoryDefinition('one') ->setImplement(StdClassFactory::class) ->getResultDefinition() - ->setFactory(stdClass::class); + ->setCreator(stdClass::class); $builder->addFactoryDefinition('two') ->setImplement(StdClassFactory::class) ->getResultDefinition() - ->setFactory('@eight'); + ->setCreator('@eight'); $builder->addFactoryDefinition('three') ->setImplement(StdClassFactory::class) ->getResultDefinition() - ->setFactory('@one::create') // alias + ->setCreator('@one::create') // alias ->setType(stdClass::class); // type is needed $builder->addDefinition('four') ->setType(A\Factory::class); $builder->addDefinition('five') - ->setFactory('@four::createFoo'); + ->setCreator('@four::createFoo'); $builder->addDefinition('six') - ->setFactory('@four::createBar'); + ->setCreator('@four::createBar'); $builder->addDefinition('seven') - ->setFactory('C\SelfFactory::create'); + ->setCreator('C\SelfFactory::create'); $builder->addDefinition('eight') - ->setFactory('stdClass'); + ->setCreator('stdClass'); $container = createContainer($builder); diff --git a/tests/DI/ContainerBuilder.factory.resolveClass.returnTypes.phpt b/tests/DI/ContainerBuilder.factory.resolveClass.returnTypes.phpt index e811b3e5e..3fc8a7def 100644 --- a/tests/DI/ContainerBuilder.factory.resolveClass.returnTypes.phpt +++ b/tests/DI/ContainerBuilder.factory.resolveClass.returnTypes.phpt @@ -44,7 +44,7 @@ namespace ->setType(A\Factory::class); $builder->addDefinition('two') - ->setFactory('@one::createBar'); + ->setCreator('@one::createBar'); $container = createContainer($builder); diff --git a/tests/DI/ContainerBuilder.factory.rich.phpt b/tests/DI/ContainerBuilder.factory.rich.phpt index 435004119..6bb079636 100644 --- a/tests/DI/ContainerBuilder.factory.rich.phpt +++ b/tests/DI/ContainerBuilder.factory.rich.phpt @@ -40,11 +40,11 @@ class Obj $builder = new DI\ContainerBuilder; $one = $builder->addDefinition('one') - ->setFactory([new Statement(Factory::class), 'create']) + ->setCreator([new Statement(Factory::class), 'create']) ->addSetup([new Statement(Factory::class), 'mark'], ['@self']); $two = $builder->addDefinition('two') - ->setFactory([new Statement([$one, 'foo'], [1]), 'foo'], [2]); + ->setCreator([new Statement([$one, 'foo'], [1]), 'foo'], [2]); $container = createContainer($builder); diff --git a/tests/DI/ContainerBuilder.names.phpt b/tests/DI/ContainerBuilder.names.phpt index 5db877184..c6f134977 100644 --- a/tests/DI/ContainerBuilder.names.phpt +++ b/tests/DI/ContainerBuilder.names.phpt @@ -11,13 +11,13 @@ require __DIR__ . '/../bootstrap.php'; $builder = new DI\ContainerBuilder; $builder->addDefinition('01') - ->setFactory(stdClass::class); + ->setCreator(stdClass::class); $builder->addDefinition(null) - ->setFactory(stdClass::class); + ->setCreator(stdClass::class); $builder->addDefinition(null) - ->setFactory(stdClass::class); + ->setCreator(stdClass::class); $container = createContainer($builder); diff --git a/tests/DI/ContainerBuilder.recursive.phpt b/tests/DI/ContainerBuilder.recursive.phpt index 50ca69c71..86a668d1f 100644 --- a/tests/DI/ContainerBuilder.recursive.phpt +++ b/tests/DI/ContainerBuilder.recursive.phpt @@ -23,9 +23,9 @@ class Service $builder = new DI\ContainerBuilder; $builder->addDefinition('one') - ->setFactory('@two::get'); + ->setCreator('@two::get'); $builder->addDefinition('two') - ->setFactory('@one::get'); + ->setCreator('@one::get'); Assert::exception(function () use ($builder) { $container = createContainer($builder); diff --git a/tests/DI/ContainerBuilder.selfdependency.phpt b/tests/DI/ContainerBuilder.selfdependency.phpt index 7230c1925..a418c2639 100644 --- a/tests/DI/ContainerBuilder.selfdependency.phpt +++ b/tests/DI/ContainerBuilder.selfdependency.phpt @@ -23,7 +23,7 @@ class Foo $builder = new DI\ContainerBuilder; $builder->addDefinition(null) - ->setFactory(Foo::class); + ->setCreator(Foo::class); Assert::exception(function () use ($builder) { createContainer($builder); diff --git a/tests/DI/DefinitionSchema.normalize.phpt b/tests/DI/DefinitionSchema.normalize.phpt index f759a3c21..890072f83 100644 --- a/tests/DI/DefinitionSchema.normalize.phpt +++ b/tests/DI/DefinitionSchema.normalize.phpt @@ -26,17 +26,17 @@ Assert::with(DefinitionSchema::class, function () { Assert::same([], $schema->normalize(null, $context)); Assert::same([], $schema->normalize([], $context)); Assert::same([false], $schema->normalize(false, $context)); - Assert::same(['factory' => true], $schema->normalize(true, $context)); - Assert::same(['factory' => 'class'], $schema->normalize('class', $context)); + Assert::same(['create' => true], $schema->normalize(true, $context)); + Assert::same(['create' => 'class'], $schema->normalize('class', $context)); Assert::same(['implement' => Iface::class], $schema->normalize(Iface::class, $context)); - Assert::same(['factory' => ['class', 'method']], $schema->normalize(['class', 'method'], $context)); - Assert::same(['factory' => [Iface::class, 'method']], $schema->normalize([Iface::class, 'method'], $context)); + Assert::same(['create' => ['class', 'method']], $schema->normalize(['class', 'method'], $context)); + Assert::same(['create' => [Iface::class, 'method']], $schema->normalize([Iface::class, 'method'], $context)); $statement = new Statement(['class', 'method']); - Assert::same(['factory' => $statement], $schema->normalize($statement, $context)); + Assert::same(['create' => $statement], $schema->normalize($statement, $context)); $statement = new Statement(Iface::class, ['foo']); - Assert::same(['implement' => Iface::class, 'factory' => 'foo'], $schema->normalize($statement, $context)); + Assert::same(['implement' => Iface::class, 'create' => 'foo'], $schema->normalize($statement, $context)); $statement = new Statement(Iface::class, ['stdClass', 'stdClass']); Assert::same(['implement' => Iface::class, 'references' => ['stdClass', 'stdClass']], $schema->normalize($statement, $context)); @@ -45,7 +45,7 @@ Assert::with(DefinitionSchema::class, function () { Assert::same(['implement' => Iface::class, 'tagged' => 123], $schema->normalize($statement, $context)); // aliases - Assert::same(['factory' => 'val'], $schema->normalize(['class' => 'val'], $context)); + Assert::same(['create' => 'val'], $schema->normalize(['class' => 'val'], $context)); Assert::same(['imported' => 'val'], $schema->normalize(['dynamic' => 'val'], $context)); Assert::exception(function () use ($schema, $context) { diff --git a/tests/DI/Definitions.ServiceDefinition.phpt b/tests/DI/Definitions.ServiceDefinition.phpt index a458f38ff..f53781689 100644 --- a/tests/DI/Definitions.ServiceDefinition.phpt +++ b/tests/DI/Definitions.ServiceDefinition.phpt @@ -32,51 +32,51 @@ test('', function () { test('', function () { $def = new ServiceDefinition; - $def->setFactory(stdClass::class); + $def->setCreator(stdClass::class); Assert::null($def->getType()); - Assert::equal(new Statement(stdClass::class, []), $def->getFactory()); + Assert::equal(new Statement(stdClass::class, []), $def->getCreator()); $def->setArguments([1, 2]); Assert::null($def->getType()); - Assert::equal(new Statement(stdClass::class, [1, 2]), $def->getFactory()); + Assert::equal(new Statement(stdClass::class, [1, 2]), $def->getCreator()); // Demonstrate that setArguments call will always replace arguments. $def->setArguments([1 => 200]); - Assert::equal(new Statement(stdClass::class, [1 => 200]), $def->getFactory()); + Assert::equal(new Statement(stdClass::class, [1 => 200]), $def->getCreator()); }); test('Test with factory being previously set.', function () { $def1 = new ServiceDefinition; - $def1->setFactory(stdClass::class, ['foo', 'bar']); + $def1->setCreator(stdClass::class, ['foo', 'bar']); $def1->setArgument(1, 'new'); - Assert::equal(new Statement(stdClass::class, ['foo', 'new']), $def1->getFactory()); + Assert::equal(new Statement(stdClass::class, ['foo', 'new']), $def1->getCreator()); // Test with factory being set implicitly. $def2 = new ServiceDefinition; $def2->setArgument(1, 'new'); $def2->setArgument(2, 'bar'); - Assert::equal(new Statement(null, [1 => 'new', 2 => 'bar']), $def2->getFactory()); + Assert::equal(new Statement(null, [1 => 'new', 2 => 'bar']), $def2->getCreator()); }); test('', function () { $def = new ServiceDefinition; - $def->setFactory(stdClass::class, [1, 2]); + $def->setCreator(stdClass::class, [1, 2]); Assert::null($def->getType()); - Assert::equal(new Statement(stdClass::class, [1, 2]), $def->getFactory()); + Assert::equal(new Statement(stdClass::class, [1, 2]), $def->getCreator()); }); test('', function () { $def = new ServiceDefinition; - $def->setFactory(new Statement(stdClass::class, [1, 2])); + $def->setCreator(new Statement(stdClass::class, [1, 2])); Assert::null($def->getType()); - Assert::equal(new Statement(stdClass::class, [1, 2]), $def->getFactory()); + Assert::equal(new Statement(stdClass::class, [1, 2]), $def->getCreator()); }); test('', function () { $def = new ServiceDefinition; - $def->setFactory(new Statement(stdClass::class, [1, 2]), [99]); // 99 is ignored + $def->setCreator(new Statement(stdClass::class, [1, 2]), [99]); // 99 is ignored Assert::null($def->getType()); - Assert::equal(new Statement(stdClass::class, [1, 2]), $def->getFactory()); + Assert::equal(new Statement(stdClass::class, [1, 2]), $def->getCreator()); }); test('', function () { @@ -107,12 +107,12 @@ test('', function () { test('deep clone', function () { $def = new ServiceDefinition; - $def->setFactory(new Statement(stdClass::class, [1, 2])); + $def->setCreator(new Statement(stdClass::class, [1, 2])); $def->addSetup(new Statement(stdClass::class, [1, 2])); $dolly = clone $def; - Assert::notSame($dolly->getFactory(), $def->getFactory()); - Assert::equal($dolly->getFactory(), $def->getFactory()); + Assert::notSame($dolly->getCreator(), $def->getCreator()); + Assert::equal($dolly->getCreator(), $def->getCreator()); Assert::notSame($dolly->getSetup(), $def->getSetup()); Assert::equal($dolly->getSetup(), $def->getSetup()); });