Skip to content

Commit e13e4d5

Browse files
committed
[FrameworkBundle] remove deprecater controller a:b:c notation
1 parent 87e84ac commit e13e4d5

File tree

11 files changed

+16
-641
lines changed

11 files changed

+16
-641
lines changed

UPGRADE-5.0.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,7 @@ FrameworkBundle
220220
* Support for the legacy directory structure in `translation:update` and `debug:translation` commands has been removed.
221221
* Removed the "Psr\SimpleCache\CacheInterface" / "cache.app.simple" service, use "Symfony\Contracts\Cache\CacheInterface" / "cache.app" instead.
222222
* Removed support for `templating` engine in `TemplateController`, use Twig instead
223+
* Removed `ResolveControllerNameSubscriber`.
223224

224225
HttpClient
225226
----------

src/Symfony/Bundle/FrameworkBundle/CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ CHANGELOG
55
-----
66

77
* Removed support to load translation resources from the legacy directories `src/Resources/translations/` and `src/Resources/<BundleName>/translations/`
8+
* Removed `ControllerNameParser`.
9+
* Removed `ResolveControllerNameSubscriber`
10+
* Removed support for `bundle:controller:action` to reference controllers. Use `serviceOrFqcn::method` instead
811
* Removed support for PHP templating, use Twig instead
912

1013
4.4.0

src/Symfony/Bundle/FrameworkBundle/Controller/ControllerNameParser.php

Lines changed: 0 additions & 146 deletions
This file was deleted.

src/Symfony/Bundle/FrameworkBundle/Controller/ControllerResolver.php

Lines changed: 1 addition & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,7 @@
1111

1212
namespace Symfony\Bundle\FrameworkBundle\Controller;
1313

14-
use Psr\Log\LoggerInterface;
1514
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
16-
use Symfony\Component\DependencyInjection\ContainerInterface;
1715
use Symfony\Component\HttpKernel\Controller\ContainerControllerResolver;
1816

1917
/**
@@ -23,45 +21,6 @@
2321
*/
2422
class ControllerResolver extends ContainerControllerResolver
2523
{
26-
/**
27-
* @deprecated since Symfony 4.4
28-
*/
29-
protected $parser;
30-
31-
/**
32-
* @param LoggerInterface|null $logger
33-
*/
34-
public function __construct(ContainerInterface $container, $logger = null)
35-
{
36-
if ($logger instanceof ControllerNameParser) {
37-
@trigger_error(sprintf('Passing a "%s" instance as 2nd argument to "%s()" is deprecated since Symfony 4.4, pass a "%s" instance or null instead.', ControllerNameParser::class, __METHOD__, LoggerInterface::class), E_USER_DEPRECATED);
38-
$this->parser = $logger;
39-
$logger = 2 < \func_num_args() ? func_get_arg(2) : null;
40-
} elseif (2 < \func_num_args() && func_get_arg(2) instanceof ControllerNameParser) {
41-
$this->parser = func_get_arg(2);
42-
} elseif ($logger && !$logger instanceof LoggerInterface) {
43-
throw new \TypeError(sprintf('Argument 2 of "%s()" must be an instance of "%s" or null, "%s" given.', __METHOD__, LoggerInterface::class, \is_object($logger) ? \get_class($logger) : \gettype($logger)), E_USER_DEPRECATED);
44-
}
45-
46-
parent::__construct($container, $logger);
47-
}
48-
49-
/**
50-
* {@inheritdoc}
51-
*/
52-
protected function createController($controller)
53-
{
54-
if ($this->parser && false === strpos($controller, '::') && 2 === substr_count($controller, ':')) {
55-
// controller in the a:b:c notation then
56-
$deprecatedNotation = $controller;
57-
$controller = $this->parser->parse($deprecatedNotation, false);
58-
59-
@trigger_error(sprintf('Referencing controllers with %s is deprecated since Symfony 4.1. Use %s instead.', $deprecatedNotation, $controller), E_USER_DEPRECATED);
60-
}
61-
62-
return parent::createController($controller);
63-
}
64-
6524
/**
6625
* {@inheritdoc}
6726
*/
@@ -77,9 +36,7 @@ private function configureController($controller, string $class)
7736
}
7837
if ($controller instanceof AbstractController) {
7938
if (null === $previousContainer = $controller->setContainer($this->container)) {
80-
@trigger_error(sprintf('Auto-injection of the container for "%s" is deprecated since Symfony 4.2. Configure it as a service instead.', $class), E_USER_DEPRECATED);
81-
// To be uncommented on Symfony 5:
82-
//throw new \LogicException(sprintf('"%s" has no container set, did you forget to define it as a service subscriber?', $class));
39+
throw new \LogicException(sprintf('"%s" has no container set, did you forget to define it as a service subscriber?', $class));
8340
} else {
8441
$controller->setContainer($previousContainer);
8542
}

src/Symfony/Bundle/FrameworkBundle/EventListener/ResolveControllerNameSubscriber.php

Lines changed: 0 additions & 56 deletions
This file was deleted.

src/Symfony/Bundle/FrameworkBundle/Resources/config/web.xml

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -7,21 +7,10 @@
77
<services>
88
<defaults public="false" />
99

10-
<service id=".legacy_controller_name_converter" class="Symfony\Bundle\FrameworkBundle\Controller\ControllerNameParser">
11-
<tag name="monolog.logger" channel="request" />
12-
<argument type="service" id="kernel" />
13-
<argument>false</argument>
14-
</service>
15-
16-
<service id="controller_name_converter" alias=".legacy_controller_name_converter">
17-
<deprecated>The "%alias_id%" service is deprecated since Symfony 4.3.</deprecated>
18-
</service>
19-
2010
<service id="controller_resolver" class="Symfony\Bundle\FrameworkBundle\Controller\ControllerResolver">
2111
<tag name="monolog.logger" channel="request" />
2212
<argument type="service" id="service_container" />
2313
<argument type="service" id="logger" on-invalid="ignore" />
24-
<argument type="service" id=".legacy_controller_name_converter" />
2514
</service>
2615

2716
<service id="argument_metadata_factory" class="Symfony\Component\HttpKernel\ControllerMetadata\ArgumentMetadataFactory" />
@@ -86,15 +75,6 @@
8675
<tag name="kernel.event_subscriber" />
8776
</service>
8877

89-
<service id=".legacy_resolve_controller_name_subscriber" class="Symfony\Bundle\FrameworkBundle\EventListener\ResolveControllerNameSubscriber">
90-
<argument type="service" id=".legacy_controller_name_converter" />
91-
<argument>false</argument>
92-
<tag name="kernel.event_subscriber" />
93-
</service>
94-
<service id="resolve_controller_name_subscriber" alias=".legacy_resolve_controller_name_subscriber">
95-
<deprecated>The "%alias_id%" service is deprecated since Symfony 4.3.</deprecated>
96-
</service>
97-
9878
<service id="disallow_search_engine_index_response_listener" class="Symfony\Component\HttpKernel\EventListener\DisallowRobotsIndexingListener">
9979
<tag name="kernel.event_subscriber" />
10080
</service>

src/Symfony/Bundle/FrameworkBundle/Routing/DelegatingLoader.php

Lines changed: 2 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111

1212
namespace Symfony\Bundle\FrameworkBundle\Routing;
1313

14-
use Symfony\Bundle\FrameworkBundle\Controller\ControllerNameParser;
1514
use Symfony\Component\Config\Exception\LoaderLoadException;
1615
use Symfony\Component\Config\Loader\DelegatingLoader as BaseDelegatingLoader;
1716
use Symfony\Component\Config\Loader\LoaderResolverInterface;
@@ -28,28 +27,14 @@
2827
*/
2928
class DelegatingLoader extends BaseDelegatingLoader
3029
{
31-
/**
32-
* @deprecated since Symfony 4.4
33-
*/
34-
protected $parser;
3530
private $loading = false;
3631
private $defaultOptions;
3732

3833
/**
39-
* @param LoaderResolverInterface $resolver
40-
* @param array $defaultOptions
34+
* @param LoaderResolverInterface $resolver A LoaderResolverInterface instance
4135
*/
42-
public function __construct($resolver, $defaultOptions = [])
36+
public function __construct(LoaderResolverInterface $resolver, array $defaultOptions = [])
4337
{
44-
if ($resolver instanceof ControllerNameParser) {
45-
@trigger_error(sprintf('Passing a "%s" instance as first argument to "%s()" is deprecated since Symfony 4.4, pass a "%s" instance instead.', ControllerNameParser::class, __METHOD__, LoaderResolverInterface::class), E_USER_DEPRECATED);
46-
$this->parser = $resolver;
47-
$resolver = $defaultOptions;
48-
$defaultOptions = 2 < \func_num_args() ? func_get_arg(2) : [];
49-
} elseif (2 < \func_num_args() && func_get_arg(2) instanceof ControllerNameParser) {
50-
$this->parser = func_get_arg(2);
51-
}
52-
5338
$this->defaultOptions = $defaultOptions;
5439

5540
parent::__construct($resolver);
@@ -99,18 +84,6 @@ public function load($resource, $type = null)
9984
continue;
10085
}
10186

102-
if ($this->parser && 2 === substr_count($controller, ':')) {
103-
$deprecatedNotation = $controller;
104-
105-
try {
106-
$controller = $this->parser->parse($controller, false);
107-
108-
@trigger_error(sprintf('Referencing controllers with %s is deprecated since Symfony 4.1, use "%s" instead.', $deprecatedNotation, $controller), E_USER_DEPRECATED);
109-
} catch (\InvalidArgumentException $e) {
110-
// unable to optimize unknown notation
111-
}
112-
}
113-
11487
if (1 === substr_count($controller, ':')) {
11588
$nonDeprecatedNotation = str_replace(':', '::', $controller);
11689
// TODO deprecate this in 5.1

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy