Movatterモバイル変換


[0]ホーム

URL:


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

Sign up
Appearance settings

Commitfc3c572

Browse files
[DependencyInjection] DeprecateContainerAwareInterface,ContainerAwareTrait andContainerAwareLoader
1 parent355b375 commitfc3c572

File tree

26 files changed

+167
-80
lines changed

26 files changed

+167
-80
lines changed

‎.github/expected-missing-return-types.diff‎

Lines changed: 35 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -8,42 +8,42 @@ git checkout src/Symfony/Contracts/Service/ResetInterface.php
88
git checkout composer.json src/
99

1010
diff --git a/src/Symfony/Bridge/Doctrine/DataCollector/DoctrineDataCollector.php b/src/Symfony/Bridge/Doctrine/DataCollector/DoctrineDataCollector.php
11-
indexada5fcbd49..51af652f08 100644
11+
index8b57ff111c..92febe31e8 100644
1212
--- a/src/Symfony/Bridge/Doctrine/DataCollector/DoctrineDataCollector.php
1313
+++ b/src/Symfony/Bridge/Doctrine/DataCollector/DoctrineDataCollector.php
14-
@@ -51,5 +51,5 @@ class DoctrineDataCollector extends DataCollector
15-
* @return void
14+
@@ -57,5 +57,5 @@ class DoctrineDataCollector extends DataCollector
15+
* @deprecated since Symfony 6.4, use a DebugDataHolder instead.
1616
*/
1717
- public function addLogger(string $name, DebugStack $logger)
1818
+ public function addLogger(string $name, DebugStack $logger): void
1919
{
20-
$this->loggers[$name] = $logger;
21-
@@ -59,5 +59,5 @@ class DoctrineDataCollector extends DataCollector
20+
trigger_deprecation('symfony/doctrine-bridge', '6.4', '"%s()" is deprecated. Pass an instance of "%s" to the constructor instead.', __METHOD__, DebugDataHolder::class);
21+
@@ -67,5 +67,5 @@ class DoctrineDataCollector extends DataCollector
2222
* @return void
2323
*/
2424
- public function collect(Request $request, Response $response, \Throwable $exception = null)
2525
+ public function collect(Request $request, Response $response, \Throwable $exception = null): void
2626
{
2727
$this->data = [
28-
@@ -90,5 +90,5 @@ class DoctrineDataCollector extends DataCollector
28+
@@ -98,5 +98,5 @@ class DoctrineDataCollector extends DataCollector
2929
* @return void
3030
*/
3131
- public function reset()
3232
+ public function reset(): void
3333
{
3434
$this->data = [];
35-
@@ -119,5 +119,5 @@ class DoctrineDataCollector extends DataCollector
35+
@@ -127,5 +127,5 @@ class DoctrineDataCollector extends DataCollector
3636
* @return int
3737
*/
3838
- public function getQueryCount()
3939
+ public function getQueryCount(): int
4040
{
4141
return array_sum(array_map('count', $this->data['queries']));
4242
diff --git a/src/Symfony/Bridge/Doctrine/DataFixtures/ContainerAwareLoader.php b/src/Symfony/Bridge/Doctrine/DataFixtures/ContainerAwareLoader.php
43-
index4fa5057fe2..9e111adac5 100644
43+
index448da935d9..06c97eb70c 100644
4444
--- a/src/Symfony/Bridge/Doctrine/DataFixtures/ContainerAwareLoader.php
4545
+++ b/src/Symfony/Bridge/Doctrine/DataFixtures/ContainerAwareLoader.php
46-
@@ -36,5 +36,5 @@ class ContainerAwareLoader extends Loader
46+
@@ -40,5 +40,5 @@ class ContainerAwareLoader extends Loader
4747
* @return void
4848
*/
4949
- public function addFixture(FixtureInterface $fixture)
@@ -202,10 +202,10 @@ index c096b558db..8d584900a9 100644
202202
{
203203
parent::configureOptions($resolver);
204204
diff --git a/src/Symfony/Bridge/Doctrine/Logger/DbalLogger.php b/src/Symfony/Bridge/Doctrine/Logger/DbalLogger.php
205-
indexb2369e95d6..c33484608e 100644
205+
indexd1a70f79d2..e052053918 100644
206206
--- a/src/Symfony/Bridge/Doctrine/Logger/DbalLogger.php
207207
+++ b/src/Symfony/Bridge/Doctrine/Logger/DbalLogger.php
208-
@@ -52,5 +52,5 @@ class DbalLogger implements SQLLogger
208+
@@ -56,5 +56,5 @@ class DbalLogger implements SQLLogger
209209
* @return void
210210
*/
211211
- protected function log(string $message, array $params)
@@ -502,7 +502,7 @@ index eadeafba55..4f1ca3bfef 100644
502502
{
503503
$configuration = new Configuration();
504504
diff --git a/src/Symfony/Bundle/FrameworkBundle/Console/Application.php b/src/Symfony/Bundle/FrameworkBundle/Console/Application.php
505-
indexcdbb90a3a9..b137a12012 100644
505+
index5083538709..82093403f1 100644
506506
--- a/src/Symfony/Bundle/FrameworkBundle/Console/Application.php
507507
+++ b/src/Symfony/Bundle/FrameworkBundle/Console/Application.php
508508
@@ -56,5 +56,5 @@ class Application extends BaseApplication
@@ -512,7 +512,7 @@ index cdbb90a3a9..b137a12012 100644
512512
+ public function reset(): void
513513
{
514514
if ($this->kernel->getContainer()->has('services_resetter')) {
515-
@@ -144,5 +144,5 @@ class Application extends BaseApplication
515+
@@ -145,5 +145,5 @@ class Application extends BaseApplication
516516
* @return void
517517
*/
518518
- protected function registerCommands()
@@ -4127,20 +4127,20 @@ index 3ea2228b94..f1d7078383 100644
41274127
{
41284128
return require $file;
41294129
diff --git a/src/Symfony/Component/DependencyInjection/ContainerAwareInterface.php b/src/Symfony/Component/DependencyInjection/ContainerAwareInterface.php
4130-
index084a321ab5..09fb37f3aa 100644
4130+
index9b3709c965..97b54712c9 100644
41314131
--- a/src/Symfony/Component/DependencyInjection/ContainerAwareInterface.php
41324132
+++ b/src/Symfony/Component/DependencyInjection/ContainerAwareInterface.php
4133-
@@ -24,4 +24,4 @@ interface ContainerAwareInterface
4133+
@@ -26,4 +26,4 @@ interface ContainerAwareInterface
41344134
* @return void
41354135
*/
41364136
- public function setContainer(?ContainerInterface $container);
41374137
+ public function setContainer(?ContainerInterface $container): void;
41384138
}
41394139
diff --git a/src/Symfony/Component/DependencyInjection/ContainerAwareTrait.php b/src/Symfony/Component/DependencyInjection/ContainerAwareTrait.php
4140-
indexac67b468c5..bc1e395810 100644
4140+
index4174fec8d0..f6a7b2da12 100644
41414141
--- a/src/Symfony/Component/DependencyInjection/ContainerAwareTrait.php
41424142
+++ b/src/Symfony/Component/DependencyInjection/ContainerAwareTrait.php
4143-
@@ -27,5 +27,5 @@ trait ContainerAwareTrait
4143+
@@ -31,5 +31,5 @@ trait ContainerAwareTrait
41444144
* @return void
41454145
*/
41464146
- public function setContainer(ContainerInterface $container = null)
@@ -4698,7 +4698,7 @@ index f610b014a0..9458751c28 100644
46984698
+ abstract protected function setNode(\DOMElement $node): void;
46994699
}
47004700
diff --git a/src/Symfony/Component/DomCrawler/Crawler.php b/src/Symfony/Component/DomCrawler/Crawler.php
4701-
index59eec3068c..b750e80938 100644
4701+
index274aeee5fc..ccf37dae8b 100644
47024702
--- a/src/Symfony/Component/DomCrawler/Crawler.php
47034703
+++ b/src/Symfony/Component/DomCrawler/Crawler.php
47044704
@@ -96,5 +96,5 @@ class Crawler implements \Countable, \IteratorAggregate
@@ -8236,62 +8236,68 @@ index ed2189e4e7..28e90cdcf9 100644
82368236

82378237
public function getMetadataBag(): MetadataBag;
82388238
diff --git a/src/Symfony/Component/HttpKernel/Bundle/Bundle.php b/src/Symfony/Component/HttpKernel/Bundle/Bundle.php
8239-
index2ddf55f2cb..52049a92b4 100644
8239+
indexaf21469b1c..7b024368c5 100644
82408240
--- a/src/Symfony/Component/HttpKernel/Bundle/Bundle.php
82418241
+++ b/src/Symfony/Component/HttpKernel/Bundle/Bundle.php
8242-
@@ -35,5 +35,5 @@ abstract class Bundle implements BundleInterface
8242+
@@ -38,5 +38,5 @@ abstract class Bundle implements BundleInterface
82438243
* @return void
82448244
*/
82458245
- public function boot()
82468246
+ public function boot(): void
82478247
{
82488248
}
8249-
@@ -42,5 +42,5 @@ abstract class Bundle implements BundleInterface
8249+
@@ -45,5 +45,5 @@ abstract class Bundle implements BundleInterface
82508250
* @return void
82518251
*/
82528252
- public function shutdown()
82538253
+ public function shutdown(): void
82548254
{
82558255
}
8256-
@@ -52,5 +52,5 @@ abstract class Bundle implements BundleInterface
8256+
@@ -55,5 +55,5 @@ abstract class Bundle implements BundleInterface
82578257
* @return void
82588258
*/
82598259
- public function build(ContainerBuilder $container)
82608260
+ public function build(ContainerBuilder $container): void
82618261
{
82628262
}
8263-
@@ -122,5 +122,5 @@ abstract class Bundle implements BundleInterface
8263+
@@ -125,5 +125,5 @@ abstract class Bundle implements BundleInterface
82648264
* @return void
82658265
*/
82668266
- public function registerCommands(Application $application)
82678267
+ public function registerCommands(Application $application): void
82688268
{
82698269
}
82708270
diff --git a/src/Symfony/Component/HttpKernel/Bundle/BundleInterface.php b/src/Symfony/Component/HttpKernel/Bundle/BundleInterface.php
8271-
index02cb9641db..abe408eb24 100644
8271+
indexfe200629f4..692c41ec53 100644
82728272
--- a/src/Symfony/Component/HttpKernel/Bundle/BundleInterface.php
82738273
+++ b/src/Symfony/Component/HttpKernel/Bundle/BundleInterface.php
8274-
@@ -28,5 +28,5 @@ interface BundleInterface extends ContainerAwareInterface
8274+
@@ -29,5 +29,5 @@ interface BundleInterface extends ContainerAwareInterface
82758275
* @return void
82768276
*/
82778277
- public function boot();
82788278
+ public function boot(): void;
82798279

82808280
/**
8281-
@@ -35,5 +35,5 @@ interface BundleInterface extends ContainerAwareInterface
8281+
@@ -36,5 +36,5 @@ interface BundleInterface extends ContainerAwareInterface
82828282
* @return void
82838283
*/
82848284
- public function shutdown();
82858285
+ public function shutdown(): void;
82868286

82878287
/**
8288-
@@ -44,5 +44,5 @@ interface BundleInterface extends ContainerAwareInterface
8288+
@@ -45,5 +45,5 @@ interface BundleInterface extends ContainerAwareInterface
82898289
* @return void
82908290
*/
82918291
- public function build(ContainerBuilder $container);
82928292
+ public function build(ContainerBuilder $container): void;
82938293

82948294
/**
8295+
@@ -72,4 +72,4 @@ interface BundleInterface extends ContainerAwareInterface
8296+
* @return void
8297+
*/
8298+
- public function setContainer(?ContainerInterface $container);
8299+
+ public function setContainer(?ContainerInterface $container): void;
8300+
}
82958301
diff --git a/src/Symfony/Component/HttpKernel/CacheClearer/CacheClearerInterface.php b/src/Symfony/Component/HttpKernel/CacheClearer/CacheClearerInterface.php
82968302
index 5ca4265624..1cb3611f8d 100644
82978303
--- a/src/Symfony/Component/HttpKernel/CacheClearer/CacheClearerInterface.php
@@ -8964,7 +8970,7 @@ index 0f3630e7fe..ddf77b8a19 100644
89648970
{
89658971
return <<<'EOF'
89668972
diff --git a/src/Symfony/Component/HttpKernel/Kernel.php b/src/Symfony/Component/HttpKernel/Kernel.php
8967-
index9d4c5f22b3..4030ab8b12 100644
8973+
indexc2d67c0f17..5c4841305b 100644
89688974
--- a/src/Symfony/Component/HttpKernel/Kernel.php
89698975
+++ b/src/Symfony/Component/HttpKernel/Kernel.php
89708976
@@ -107,5 +107,5 @@ abstract class Kernel implements KernelInterface, RebootableInterface, Terminabl
@@ -10911,7 +10917,7 @@ index bde72c0eb0..3d6813e1d4 100644
1091110917
{
1091210918
if (!\is_array($config)) {
1091310919
diff --git a/src/Symfony/Component/Routing/Matcher/Dumper/CompiledUrlMatcherDumper.php b/src/Symfony/Component/Routing/Matcher/Dumper/CompiledUrlMatcherDumper.php
10914-
indexe92a5ea3d7..4a0af31349 100644
10920+
index0e740bdf6c..21b68e3600 100644
1091510921
--- a/src/Symfony/Component/Routing/Matcher/Dumper/CompiledUrlMatcherDumper.php
1091610922
+++ b/src/Symfony/Component/Routing/Matcher/Dumper/CompiledUrlMatcherDumper.php
1091710923
@@ -54,5 +54,5 @@ EOF;

‎UPGRADE-6.4.md‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,18 @@
11
UPGRADE FROM 6.3 to 6.4
22
=======================
33

4+
DependencyInjection
5+
-------------------
6+
7+
* Deprecate`ContainerAwareInterface` and`ContainerAwareTrait`, use dependency injection instead
8+
49
DoctrineBridge
510
--------------
611

712
* Deprecate`DbalLogger`, use a middleware instead
813
* Deprecate not constructing`DoctrineDataCollector` with an instance of`DebugDataHolder`
914
* Deprecate`DoctrineDataCollector::addLogger()`, use a`DebugDataHolder` instead
15+
* Deprecate`ContainerAwareLoader`, use dependency injection in your fixtures instead
1016

1117
HttpFoundation
1218
--------------

‎src/Symfony/Bridge/Doctrine/CHANGELOG.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ CHANGELOG
77
* Deprecate`DbalLogger`, use a middleware instead
88
* Deprecate not constructing`DoctrineDataCollector` with an instance of`DebugDataHolder`
99
* Deprecate`DoctrineDataCollector::addLogger()`, use a`DebugDataHolder` instead
10+
* Deprecate`ContainerAwareLoader`, use dependency injection in your fixtures instead
1011

1112
6.3
1213
---

‎src/Symfony/Bridge/Doctrine/DataFixtures/ContainerAwareLoader.php‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,16 @@
1616
useSymfony\Component\DependencyInjection\ContainerAwareInterface;
1717
useSymfony\Component\DependencyInjection\ContainerInterface;
1818

19+
trigger_deprecation('symfony/dependency-injection','6.4','"%s" is deprecated, use dependency injection in your fixtures instead.', ContainerAwareLoader::class);
20+
1921
/**
2022
* Doctrine data fixtures loader that injects the service container into
2123
* fixture objects that implement ContainerAwareInterface.
2224
*
2325
* Note: Use of this class requires the Doctrine data fixtures extension, which
2426
* is a suggested dependency for Symfony.
27+
*
28+
* @deprecated since Symfony 6.4, use dependency injection in your fixtures instead
2529
*/
2630
class ContainerAwareLoaderextends Loader
2731
{

‎src/Symfony/Bridge/Doctrine/Tests/DataFixtures/ContainerAwareLoaderTest.php‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@
1616
useSymfony\Bridge\Doctrine\Tests\Fixtures\ContainerAwareFixture;
1717
useSymfony\Component\DependencyInjection\ContainerInterface;
1818

19+
/**
20+
* @group legacy
21+
*/
1922
class ContainerAwareLoaderTestextends TestCase
2023
{
2124
publicfunctiontestShouldSetContainerOnContainerAwareFixture()

‎src/Symfony/Bridge/Doctrine/Tests/Fixtures/ContainerAwareFixture.php‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@
1616
useSymfony\Component\DependencyInjection\ContainerAwareInterface;
1717
useSymfony\Component\DependencyInjection\ContainerInterface;
1818

19+
/**
20+
* @deprecated since Symfony 6.4, to be removed in 7.0
21+
*/
1922
class ContainerAwareFixtureimplements FixtureInterface, ContainerAwareInterface
2023
{
2124
public ?ContainerInterface$container =null;

‎src/Symfony/Bundle/FrameworkBundle/Console/Application.php‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,7 @@ public function get(string $name): Command
115115
$command =parent::get($name);
116116

117117
if ($commandinstanceof ContainerAwareInterface) {
118+
trigger_deprecation('symfony/dependency-injection','6.4','Relying on "%s" to get the container in "%s" is deprecated, register the command as a service and use dependency injection instead.', ContainerAwareInterface::class,get_debug_type($command));
118119
$command->setContainer($this->kernel->getContainer());
119120
}
120121

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ protected function instantiateController(string $class): object
2626
$controller =parent::instantiateController($class);
2727

2828
if ($controllerinstanceof ContainerAwareInterface) {
29+
trigger_deprecation('symfony/dependency-injection','6.4','Relying on "%s" to get the container in "%s" is deprecated, register the controller as a service and use dependency injection instead.', ContainerAwareInterface::class,get_debug_type($controller));
2930
$controller->setContainer($this->container);
3031
}
3132
if ($controllerinstanceof AbstractController) {

‎src/Symfony/Bundle/FrameworkBundle/Tests/Controller/ControllerResolverTest.php‎

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
usePsr\Container\ContainerInterfaceasPsr11ContainerInterface;
1515
usePsr\Log\LoggerInterface;
16+
useSymfony\Bridge\PhpUnit\ExpectDeprecationTrait;
1617
useSymfony\Bundle\FrameworkBundle\Controller\AbstractController;
1718
useSymfony\Bundle\FrameworkBundle\Controller\ControllerResolver;
1819
useSymfony\Component\DependencyInjection\Container;
@@ -23,31 +24,44 @@
2324

2425
class ControllerResolverTestextends ContainerControllerResolverTest
2526
{
27+
use ExpectDeprecationTrait;
28+
29+
/**
30+
* @group legacy
31+
*/
2632
publicfunctiontestGetControllerOnContainerAware()
2733
{
2834
$resolver =$this->createControllerResolver();
2935
$request = Request::create('/');
3036
$request->attributes->set('_controller','Symfony\Bundle\FrameworkBundle\Tests\Controller\ContainerAwareController::testAction');
3137

38+
$this->expectDeprecation('Since symfony/dependency-injection 6.4: Relying on "Symfony\Component\DependencyInjection\ContainerAwareInterface" to get the container in "Symfony\Bundle\FrameworkBundle\Tests\Controller\ContainerAwareController" is deprecated, register the controller as a service and use dependency injection instead.');
3239
$controller =$resolver->getController($request);
3340

3441
$this->assertInstanceOf(ContainerAwareController::class,$controller[0]);
3542
$this->assertInstanceOf(ContainerInterface::class,$controller[0]->getContainer());
3643
$this->assertSame('testAction',$controller[1]);
3744
}
3845

46+
/**
47+
* @group legacy
48+
*/
3949
publicfunctiontestGetControllerOnContainerAwareInvokable()
4050
{
4151
$resolver =$this->createControllerResolver();
4252
$request = Request::create('/');
4353
$request->attributes->set('_controller','Symfony\Bundle\FrameworkBundle\Tests\Controller\ContainerAwareController');
4454

55+
$this->expectDeprecation('Since symfony/dependency-injection 6.4: Relying on "Symfony\Component\DependencyInjection\ContainerAwareInterface" to get the container in "Symfony\Bundle\FrameworkBundle\Tests\Controller\ContainerAwareController" is deprecated, register the controller as a service and use dependency injection instead.');
4556
$controller =$resolver->getController($request);
4657

4758
$this->assertInstanceOf(ContainerAwareController::class,$controller);
4859
$this->assertInstanceOf(ContainerInterface::class,$controller->getContainer());
4960
}
5061

62+
/**
63+
* @group legacy
64+
*/
5165
publicfunctiontestContainerAwareControllerGetsContainerWhenNotSet()
5266
{
5367
class_exists(AbstractControllerTest::class);
@@ -62,6 +76,7 @@ class_exists(AbstractControllerTest::class);
6276
$request = Request::create('/');
6377
$request->attributes->set('_controller', TestAbstractController::class.'::testAction');
6478

79+
$this->expectDeprecation('Since symfony/dependency-injection 6.4: Relying on "Symfony\Component\DependencyInjection\ContainerAwareInterface" to get the container in "Symfony\Bundle\FrameworkBundle\Tests\Controller\ContainerAwareController" is deprecated, register the controller as a service and use dependency injection instead.');
6580
$this->assertSame([$controller,'testAction'],$resolver->getController($request));
6681
$this->assertSame($container,$controller->getContainer());
6782
}

‎src/Symfony/Bundle/FrameworkBundle/Tests/Functional/Bundle/TestBundle/Controller/FragmentController.php‎

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,14 @@
1111

1212
namespaceSymfony\Bundle\FrameworkBundle\Tests\Functional\Bundle\TestBundle\Controller;
1313

14-
useSymfony\Component\DependencyInjection\ContainerAwareInterface;
15-
useSymfony\Component\DependencyInjection\ContainerAwareTrait;
1614
useSymfony\Component\HttpFoundation\Request;
1715
useSymfony\Component\HttpFoundation\Response;
1816
useSymfony\Component\HttpKernel\Controller\ControllerReference;
1917
useSymfony\Component\HttpKernel\Fragment\FragmentUriGeneratorInterface;
2018
useTwig\Environment;
2119

22-
class FragmentControllerimplements ContainerAwareInterface
20+
class FragmentController
2321
{
24-
use ContainerAwareTrait;
25-
2622
publicfunctionindexAction(Environment$twig)
2723
{
2824
returnnewResponse($twig->render('fragment.html.twig', ['bar' =>newBar()]));

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp