Skip to content

Commit c4ed065

Browse files
committed
[FrameworkBundle] remove deprecater controller a:b:c notation
1 parent dc82bba commit c4ed065

File tree

12 files changed

+16
-597
lines changed

12 files changed

+16
-597
lines changed

UPGRADE-5.0.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,7 @@ FrameworkBundle
219219
* Removed support for legacy translations directories `src/Resources/translations/` and `src/Resources/<BundleName>/translations/`, use `translations/` instead.
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.
222+
* Removed `ResolveControllerNameSubscriber`.
222223

223224
HttpFoundation
224225
--------------

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

912
4.3.0
1013
-----

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

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

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

Lines changed: 1 addition & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -11,41 +11,14 @@
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
/**
2018
* @author Fabien Potencier <fabien@symfony.com>
2119
*/
2220
class ControllerResolver extends ContainerControllerResolver
2321
{
24-
protected $parser;
25-
26-
public function __construct(ContainerInterface $container, ControllerNameParser $parser, LoggerInterface $logger = null)
27-
{
28-
$this->parser = $parser;
29-
30-
parent::__construct($container, $logger);
31-
}
32-
33-
/**
34-
* {@inheritdoc}
35-
*/
36-
protected function createController($controller)
37-
{
38-
if (false === strpos($controller, '::') && 2 === substr_count($controller, ':')) {
39-
// controller in the a:b:c notation then
40-
$deprecatedNotation = $controller;
41-
$controller = $this->parser->parse($deprecatedNotation, false);
42-
43-
@trigger_error(sprintf('Referencing controllers with %s is deprecated since Symfony 4.1. Use %s instead.', $deprecatedNotation, $controller), E_USER_DEPRECATED);
44-
}
45-
46-
return parent::createController($controller);
47-
}
48-
4922
/**
5023
* {@inheritdoc}
5124
*/
@@ -61,9 +34,7 @@ private function configureController($controller, string $class)
6134
}
6235
if ($controller instanceof AbstractController) {
6336
if (null === $previousContainer = $controller->setContainer($this->container)) {
64-
@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);
65-
// To be uncommented on Symfony 5:
66-
//throw new \LogicException(sprintf('"%s" has no container set, did you forget to define it as a service subscriber?', $class));
37+
throw new \LogicException(sprintf('"%s" has no container set, did you forget to define it as a service subscriber?', $class));
6738
} else {
6839
$controller->setContainer($previousContainer);
6940
}

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

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

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@
4646
</service>
4747

4848
<service id="routing.loader" class="Symfony\Bundle\FrameworkBundle\Routing\DelegatingLoader" public="true">
49-
<argument type="service" id="controller_name_converter" />
5049
<argument type="service" id="routing.resolver" />
5150
<argument type="collection" />
5251
</service>

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

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

10-
<service id="controller_name_converter" class="Symfony\Bundle\FrameworkBundle\Controller\ControllerNameParser">
11-
<tag name="monolog.logger" channel="request" />
12-
<argument type="service" id="kernel" />
13-
</service>
14-
1510
<service id="controller_resolver" class="Symfony\Bundle\FrameworkBundle\Controller\ControllerResolver">
1611
<tag name="monolog.logger" channel="request" />
1712
<argument type="service" id="service_container" />
18-
<argument type="service" id="controller_name_converter" />
1913
<argument type="service" id="logger" on-invalid="ignore" />
2014
</service>
2115

@@ -81,10 +75,6 @@
8175
<tag name="kernel.event_subscriber" />
8276
</service>
8377

84-
<service id="resolve_controller_name_subscriber" class="Symfony\Bundle\FrameworkBundle\EventListener\ResolveControllerNameSubscriber">
85-
<argument type="service" id="controller_name_converter" />
86-
<tag name="kernel.event_subscriber" />
87-
</service>
8878
<service id="disallow_search_engine_index_response_listener" class="Symfony\Component\HttpKernel\EventListener\DisallowRobotsIndexingListener">
8979
<tag name="kernel.event_subscriber" />
9080
</service>

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

Lines changed: 1 addition & 17 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;
@@ -26,17 +25,14 @@
2625
*/
2726
class DelegatingLoader extends BaseDelegatingLoader
2827
{
29-
protected $parser;
3028
private $loading = false;
3129
private $defaultOptions;
3230

3331
/**
34-
* @param ControllerNameParser $parser A ControllerNameParser instance
3532
* @param LoaderResolverInterface $resolver A LoaderResolverInterface instance
3633
*/
37-
public function __construct(ControllerNameParser $parser, LoaderResolverInterface $resolver, array $defaultOptions = [])
34+
public function __construct(LoaderResolverInterface $resolver, array $defaultOptions = [])
3835
{
39-
$this->parser = $parser;
4036
$this->defaultOptions = $defaultOptions;
4137

4238
parent::__construct($resolver);
@@ -86,18 +82,6 @@ public function load($resource, $type = null)
8682
continue;
8783
}
8884

89-
if (2 === substr_count($controller, ':')) {
90-
$deprecatedNotation = $controller;
91-
92-
try {
93-
$controller = $this->parser->parse($controller, false);
94-
95-
@trigger_error(sprintf('Referencing controllers with %s is deprecated since Symfony 4.1, use "%s" instead.', $deprecatedNotation, $controller), E_USER_DEPRECATED);
96-
} catch (\InvalidArgumentException $e) {
97-
// unable to optimize unknown notation
98-
}
99-
}
100-
10185
if (1 === substr_count($controller, ':')) {
10286
$nonDeprecatedNotation = str_replace(':', '::', $controller);
10387
// 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