10000 [FrameworkBundle] remove deprecater controller a:b:c notation · symfony/symfony@c4ed065 · GitHub
[go: up one dir, main page]

Skip to content

Commit c4ed065

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

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)
0