Skip to content

Commit 128049e

Browse files
committed
Removed support for wildcard character ? in service definitions (BC break)
1 parent 79ad94f commit 128049e

2 files changed

Lines changed: 3 additions & 9 deletions

File tree

src/DI/ContainerBuilder.php

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -564,10 +564,7 @@ public function completeStatement(Statement $statement): Statement
564564
$entity = $this->normalizeEntity($statement->getEntity());
565565
$arguments = $statement->arguments;
566566

567-
if (is_string($entity) && Strings::contains($entity, '?')) { // PHP literal
568-
trigger_error("Wildcard '?' used in '$entity' is deprecated.", E_USER_DEPRECATED);
569-
570-
} elseif ($service = $this->getServiceName($entity)) { // factory calling
567+
if ($service = $this->getServiceName($entity)) { // factory calling
571568
$params = [];
572569
foreach ($this->definitions[$service]->parameters as $k => $v) {
573570
$params[] = preg_replace('#\w+\z#', '\$$0', (is_int($k) ? $v : $k)) . (is_int($k) ? '' : ' = ' . PhpHelpers::dump($v));
@@ -693,7 +690,7 @@ public static function literal(string $code, array $args = NULL): Nette\PhpGener
693690
/** @internal */
694691
public function normalizeEntity($entity)
695692
{
696-
if (is_string($entity) && Strings::contains($entity, '::') && !Strings::contains($entity, '?')) { // Class::method -> [Class, method]
693+
if (is_string($entity) && Strings::contains($entity, '::')) { // Class::method -> [Class, method]
697694
$entity = explode('::', $entity);
698695
}
699696

src/DI/PhpGenerator.php

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -167,10 +167,7 @@ private function formatStatement(Statement $statement): string
167167
$entity = $statement->getEntity();
168168
$arguments = $statement->arguments;
169169

170-
if (is_string($entity) && Strings::contains($entity, '?')) { // PHP literal
171-
return $this->formatPhp($entity, $arguments);
172-
173-
} elseif ($service = $this->builder->getServiceName($entity)) { // factory calling
170+
if ($service = $this->builder->getServiceName($entity)) { // factory calling
174171
return $this->formatPhp('$this->?(?*)', [Container::getMethodName($service), $arguments]);
175172

176173
} elseif ($entity === 'not') { // operator

0 commit comments

Comments
 (0)