Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 4ba93f2

Browse filesBrowse files
committed
[FrameworkBundle] remove deprecater controller a:b:c notation
1 parent 87e84ac commit 4ba93f2
Copy full SHA for 4ba93f2

File tree

11 files changed

+16
-642
lines changed
Filter options

11 files changed

+16
-642
lines changed

‎UPGRADE-5.0.md

Copy file name to clipboardExpand all lines: UPGRADE-5.0.md
+1Lines 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

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/FrameworkBundle/CHANGELOG.md
+3Lines 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

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/FrameworkBundle/Controller/ControllerNameParser.php
-146Lines changed: 0 additions & 146 deletions
This file was deleted.

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

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/FrameworkBundle/Controller/ControllerResolver.php
+1-44Lines 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

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/FrameworkBundle/EventListener/ResolveControllerNameSubscriber.php
-56Lines changed: 0 additions & 56 deletions
This file was deleted.

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

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/FrameworkBundle/Resources/config/web.xml
-20Lines 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

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/FrameworkBundle/Routing/DelegatingLoader.php
+2-29Lines 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 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.