Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 8912691

Browse files
[2.7] silence deprecations for getFactory*() BC layer
1 parent b3b4f50 commit 8912691

File tree

10 files changed

+71
-59
lines changed

10 files changed

+71
-59
lines changed

src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/XmlDescriptor.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -329,16 +329,16 @@ private function getContainerDefinitionDocument(Definition $definition, $id = nu
329329

330330
$serviceXML->setAttribute('class', $definition->getClass());
331331

332-
if ($definition->getFactoryClass()) {
333-
$serviceXML->setAttribute('factory-class', $definition->getFactoryClass());
332+
if ($definition->getFactoryClass(false)) {
333+
$serviceXML->setAttribute('factory-class', $definition->getFactoryClass(false));
334334
}
335335

336-
if ($definition->getFactoryService()) {
337-
$serviceXML->setAttribute('factory-service', $definition->getFactoryService());
336+
if ($definition->getFactoryService(false)) {
337+
$serviceXML->setAttribute('factory-service', $definition->getFactoryService(false));
338338
}
339339

340-
if ($definition->getFactoryMethod()) {
341-
$serviceXML->setAttribute('factory-method', $definition->getFactoryMethod());
340+
if ($definition->getFactoryMethod(false)) {
341+
$serviceXML->setAttribute('factory-method', $definition->getFactoryMethod(false));
342342
}
343343

344344
if ($factory = $definition->getFactory()) {

src/Symfony/Component/DependencyInjection/Compiler/AnalyzeServiceReferencesPass.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,8 @@ public function process(ContainerBuilder $container)
7171
$this->currentDefinition = $definition;
7272

7373
$this->processArguments($definition->getArguments());
74-
if ($definition->getFactoryService()) {
75-
$this->processArguments(array(new Reference($definition->getFactoryService())));
74+
if ($definition->getFactoryService(false)) {
75+
$this->processArguments(array(new Reference($definition->getFactoryService(false))));
7676
}
7777
if (is_array($definition->getFactory())) {
7878
$this->processArguments($definition->getFactory());
@@ -118,8 +118,8 @@ private function processArguments(array $arguments)
118118
if (is_array($argument->getFactory())) {
119119
$this->processArguments($argument->getFactory());
120120
}
121-
if ($argument->getFactoryService()) {
122-
$this->processArguments(array(new Reference($argument->getFactoryService())));
121+
if ($argument->getFactoryService(false)) {
122+
$this->processArguments(array(new Reference($argument->getFactoryService(false))));
123123
}
124124
}
125125
}

src/Symfony/Component/DependencyInjection/Compiler/CheckDefinitionValidityPass.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,13 +50,13 @@ public function process(ContainerBuilder $container)
5050
throw new RuntimeException(sprintf('A synthetic service ("%s") cannot be of scope "prototype".', $id));
5151
}
5252

53-
if ($definition->getFactory() && ($definition->getFactoryClass() || $definition->getFactoryService() || $definition->getFactoryMethod())) {
53+
if ($definition->getFactory() && ($definition->getFactoryClass(false) || $definition->getFactoryService(false) || $definition->getFactoryMethod(false))) {
5454
throw new RuntimeException(sprintf('A service ("%s") can use either the old or the new factory syntax, not both.', $id));
5555
}
5656

5757
// non-synthetic, non-abstract service has class
5858
if (!$definition->isAbstract() && !$definition->isSynthetic() && !$definition->getClass()) {
59-
if ($definition->getFactory() || $definition->getFactoryClass() || $definition->getFactoryService()) {
59+
if ($definition->getFactory() || $definition->getFactoryClass(false) || $definition->getFactoryService(false)) {
6060
throw new RuntimeException(sprintf('Please add the class to service "%s" even if it is constructed by a factory since we might need to add method calls based on compile-time checks.', $id));
6161
}
6262

src/Symfony/Component/DependencyInjection/Compiler/InlineServiceDefinitionsPass.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ private function isInlineableDefinition(ContainerBuilder $container, $id, Defini
148148
return false;
149149
}
150150

151-
if (count($ids) > 1 && $definition->getFactoryService()) {
151+
if (count($ids) > 1 && $definition->getFactoryService(false)) {
152152
return false;
153153
}
154154

src/Symfony/Component/DependencyInjection/Compiler/ResolveDefinitionTemplatesPass.php

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -81,9 +81,15 @@ private function resolveDefinition($id, DefinitionDecorator $definition)
8181
$def->setArguments($parentDef->getArguments());
8282
$def->setMethodCalls($parentDef->getMethodCalls());
8383
$def->setProperties($parentDef->getProperties());
84-
$def->setFactoryClass($parentDef->getFactoryClass());
85-
$def->setFactoryMethod($parentDef->getFactoryMethod());
86-
$def->setFactoryService($parentDef->getFactoryService());
84+
if ($parentDef->getFactoryClass(false)) {
85+
$def->setFactoryClass($parentDef->getFactoryClass(false));
86+
}
87+
if ($parentDef->getFactoryMethod(false)) {
88+
$def->setFactoryMethod($parentDef->getFactoryMethod(false));
89+
}
90+
if ($parentDef->getFactoryService(false)) {
91+
$def->setFactoryService($parentDef->getFactoryService(false));
92+
}
8793
$def->setFactory($parentDef->getFactory());
8894
$def->setConfigurator($parentDef->getConfigurator());
8995
$def->setFile($parentDef->getFile());
@@ -96,13 +102,13 @@ private function resolveDefinition($id, DefinitionDecorator $definition)
96102
$def->setClass($definition->getClass());
97103
}
98104
if (isset($changes['factory_class'])) {
99-
$def->setFactoryClass($definition->getFactoryClass());
105+
$def->setFactoryClass($definition->getFactoryClass(false));
100106
}
101107
if (isset($changes['factory_method'])) {
102-
$def->setFactoryMethod($definition->getFactoryMethod());
108+
$def->setFactoryMethod($definition->getFactoryMethod(false));
103109
}
104110
if (isset($changes['factory_service'])) {
105-
$def->setFactoryService($definition->getFactoryService());
111+
$def->setFactoryService($definition->getFactoryService(false));
106112
}
107113
if (isset($changes['factory'])) {
108114
$def->setFactory($definition->getFactory());

src/Symfony/Component/DependencyInjection/ContainerBuilder.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -948,16 +948,16 @@ public function createService(Definition $definition, $id, $tryProxy = true)
948948
}
949949

950950
$service = call_user_func_array($factory, $arguments);
951-
} elseif (null !== $definition->getFactoryMethod()) {
952-
if (null !== $definition->getFactoryClass()) {
953-
$factory = $parameterBag->resolveValue($definition->getFactoryClass());
954-
} elseif (null !== $definition->getFactoryService()) {
955-
$factory = $this->get($parameterBag->resolveValue($definition->getFactoryService()));
951+
} elseif (null !== $definition->getFactoryMethod(false)) {
952+
if (null !== $definition->getFactoryClass(false)) {
953+
$factory = $parameterBag->resolveValue($definition->getFactoryClass(false));
954+
} elseif (null !== $definition->getFactoryService(false)) {
955+
$factory = $this->get($parameterBag->resolveValue($definition->getFactoryService(false)));
956956
} else {
957957
throw new RuntimeException(sprintf('Cannot create service "%s" from factory method without a factory service or factory class.', $id));
958958
}
959959

960-
$service = call_user_func_array(array($factory, $definition->getFactoryMethod()), $arguments);
960+
$service = call_user_func_array(array($factory, $definition->getFactoryMethod(false)), $arguments);
961961
} else {
962962
$r = new \ReflectionClass($parameterBag->resolveValue($definition->getClass()));
963963

src/Symfony/Component/DependencyInjection/Definition.php

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -113,9 +113,11 @@ public function setFactoryClass($factoryClass)
113113
* @api
114114
* @deprecated since version 2.6, to be removed in 3.0.
115115
*/
116-
public function getFactoryClass()
116+
public function getFactoryClass($triggerDeprecationError = true)
117117
{
118-
trigger_error('The '.__METHOD__.' is deprecated since version 2.6 and will be removed in 3.0.', E_USER_DEPRECATED);
118+
if ($triggerDeprecationError) {
119+
trigger_error('The '.__METHOD__.' is deprecated since version 2.6 and will be removed in 3.0.', E_USER_DEPRECATED);
120+
}
119121

120122
return $this->factoryClass;
121123
}
@@ -182,9 +184,11 @@ public function getDecoratedService()
182184
* @api
183185
* @deprecated since version 2.6, to be removed in 3.0.
184186
*/
185-
public function getFactoryMethod()
187+
public function getFactoryMethod($triggerDeprecationError = true)
186188
{
187-
trigger_error('The '.__METHOD__.' is deprecated since version 2.6 and will be removed in 3.0.', E_USER_DEPRECATED);
189+
if ($triggerDeprecationError) {
190+
trigger_error('The '.__METHOD__.' is deprecated since version 2.6 and will be removed in 3.0.', E_USER_DEPRECATED);
191+
}
188192

189193
return $this->factoryMethod;
190194
}
@@ -216,9 +220,11 @@ public function setFactoryService($factoryService)
216220
* @api
217221
* @deprecated since version 2.6, to be removed in 3.0.
218222
*/
219-
public function getFactoryService()
223+
public function getFactoryService($triggerDeprecationError = true)
220224
{
221-
trigger_error('The '.__METHOD__.' is deprecated since version 2.6 and will be removed in 3.0.', E_USER_DEPRECATED);
225+
if ($triggerDeprecationError) {
226+
trigger_error('The '.__METHOD__.' is deprecated since version 2.6 and will be removed in 3.0.', E_USER_DEPRECATED);
227+
}
222228

223229
return $this->factoryService;
224230
}

src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -572,10 +572,10 @@ private function addService($id, $definition)
572572
$return[] = sprintf('@return object An instance returned by %s::%s().', $factory[0]->getClass(), $factory[1]);
573573
}
574574
}
575-
} elseif ($definition->getFactoryClass()) {
576-
$return[] = sprintf('@return object An instance returned by %s::%s().', $definition->getFactoryClass(), $definition->getFactoryMethod());
577-
} elseif ($definition->getFactoryService()) {
578-
$return[] = sprintf('@return object An instance returned by %s::%s().', $definition->getFactoryService(), $definition->getFactoryMethod());
575+
} elseif ($definition->getFactoryClass(false)) {
576+
$return[] = sprintf('@return object An instance returned by %s::%s().', $definition->getFactoryClass(false), $definition->getFactoryMethod(false));
577+
} elseif ($definition->getFactoryService(false)) {
578+
$return[] = sprintf('@return object An instance returned by %s::%s().', $definition->getFactoryService(false), $definition->getFactoryMethod(false));
579579
}
580580

581581
$scope = $definition->getScope();
@@ -768,20 +768,20 @@ private function addNewInstance($id, Definition $definition, $return, $instantia
768768
}
769769

770770
return sprintf(" $return{$instantiation}\\%s(%s);\n", $callable, $arguments ? implode(', ', $arguments) : '');
771-
} elseif (null !== $definition->getFactoryMethod()) {
772-
if (null !== $definition->getFactoryClass()) {
773-
$class = $this->dumpValue($definition->getFactoryClass());
771+
} elseif (null !== $definition->getFactoryMethod(false)) {
772+
if (null !== $definition->getFactoryClass(false)) {
773+
$class = $this->dumpValue($definition->getFactoryClass(false));
774774

775775
// If the class is a string we can optimize call_user_func away
776776
if (strpos($class, "'") === 0) {
777-
return sprintf(" $return{$instantiation}%s::%s(%s);\n", $this->dumpLiteralClass($class), $definition->getFactoryMethod(), $arguments ? implode(', ', $arguments) : '');
777+
return sprintf(" $return{$instantiation}%s::%s(%s);\n", $this->dumpLiteralClass($class), $definition->getFactoryMethod(false), $arguments ? implode(', ', $arguments) : '');
778778
}
779779

780-
return sprintf(" $return{$instantiation}call_user_func(array(%s, '%s')%s);\n", $this->dumpValue($definition->getFactoryClass()), $definition->getFactoryMethod(), $arguments ? ', '.implode(', ', $arguments) : '');
780+
return sprintf(" $return{$instantiation}call_user_func(array(%s, '%s')%s);\n", $this->dumpValue($definition->getFactoryClass(false)), $definition->getFactoryMethod(false), $arguments ? ', '.implode(', ', $arguments) : '');
781781
}
782782

783-
if (null !== $definition->getFactoryService()) {
784-
return sprintf(" $return{$instantiation}%s->%s(%s);\n", $this->getServiceCall($definition->getFactoryService()), $definition->getFactoryMethod(), implode(', ', $arguments));
783+
if (null !== $definition->getFactoryService(false)) {
784+
return sprintf(" $return{$instantiation}%s->%s(%s);\n", $this->getServiceCall($definition->getFactoryService(false)), $definition->getFactoryMethod(false), implode(', ', $arguments));
785785
}
786786

787787
throw new RuntimeException(sprintf('Factory method requires a factory service or factory class in service definition for %s', $id));
@@ -1328,11 +1328,11 @@ private function dumpValue($value, $interpolate = true)
13281328
throw new RuntimeException('Cannot dump definition because of invalid factory');
13291329
}
13301330

1331-
if (null !== $value->getFactoryMethod()) {
1332-
if (null !== $value->getFactoryClass()) {
1333-
return sprintf("call_user_func(array(%s, '%s')%s)", $this->dumpValue($value->getFactoryClass()), $value->getFactoryMethod(), count($arguments) > 0 ? ', '.implode(', ', $arguments) : '');
1334-
} elseif (null !== $value->getFactoryService()) {
1335-
return sprintf("%s->%s(%s)", $this->getServiceCall($value->getFactoryService()), $value->getFactoryMethod(), implode(', ', $arguments));
1331+
if (null !== $value->getFactoryMethod(false)) {
1332+
if (null !== $value->getFactoryClass(false)) {
1333+
return sprintf("call_user_func(array(%s, '%s')%s)", $this->dumpValue($value->getFactoryClass(false)), $value->getFactoryMethod(false), count($arguments) > 0 ? ', '.implode(', ', $arguments) : '');
1334+
} elseif (null !== $value->getFactoryService(false)) {
1335+
return sprintf("%s->%s(%s)", $this->getServiceCall($value->getFactoryService(false)), $value->getFactoryMethod(false), implode(', ', $arguments));
13361336
} else {
13371337
throw new RuntimeException('Cannot dump definitions which have factory method without factory service or factory class.');
13381338
}

src/Symfony/Component/DependencyInjection/Dumper/XmlDumper.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -117,14 +117,14 @@ private function addService($definition, $id, \DOMElement $parent)
117117
if ($definition->getClass()) {
118118
$service->setAttribute('class', $definition->getClass());
119119
}
120-
if ($definition->getFactoryMethod()) {
121-
$service->setAttribute('factory-method', $definition->getFactoryMethod());
120+
if ($definition->getFactoryMethod(false)) {
121+
$service->setAttribute('factory-method', $definition->getFactoryMethod(false));
122122
}
123-
if ($definition->getFactoryClass()) {
124-
$service->setAttribute('factory-class', $definition->getFactoryClass());
123+
if ($definition->getFactoryClass(false)) {
124+
$service->setAttribute('factory-class', $definition->getFactoryClass(false));
125125
}
126-
if ($definition->getFactoryService()) {
127-
$service->setAttribute('factory-service', $definition->getFactoryService());
126+
if ($definition->getFactoryService(false)) {
127+
$service->setAttribute('factory-service', $definition->getFactoryService(false));
128128
}
129129
if (ContainerInterface::SCOPE_CONTAINER !== $scope = $definition->getScope()) {
130130
$service->setAttribute('scope', $scope);

src/Symfony/Component/DependencyInjection/Dumper/YamlDumper.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -107,20 +107,20 @@ private function addService($id, $definition)
107107
$code .= sprintf(" synchronized: true\n");
108108
}
109109

110-
if ($definition->getFactoryClass()) {
111-
$code .= sprintf(" factory_class: %s\n", $definition->getFactoryClass());
110+
if ($definition->getFactoryClass(false)) {
111+
$code .= sprintf(" factory_class: %s\n", $definition->getFactoryClass(false));
112112
}
113113

114114
if ($definition->isLazy()) {
115115
$code .= sprintf(" lazy: true\n");
116116
}
117117

118-
if ($definition->getFactoryMethod()) {
119-
$code .= sprintf(" factory_method: %s\n", $definition->getFactoryMethod());
118+
if ($definition->getFactoryMethod(false)) {
119+
$code .= sprintf(" factory_method: %s\n", $definition->getFactoryMethod(false));
120120
}
121121

122-
if ($definition->getFactoryService()) {
123-
$code .= sprintf(" factory_service: %s\n", $definition->getFactoryService());
122+
if ($definition->getFactoryService(false)) {
123+
$code .= sprintf(" factory_service: %s\n", $definition->getFactoryService(false));
124124
}
125125

126126
if ($definition->getArguments()) {

0 commit comments

Comments
 (0)