Skip to content

Commit 88862a4

Browse files
committed
fix(serializer): deprecate SerializerAwareProviderInterface and SerializableProvider
A PR for the removal was already made: #7314.
1 parent 9e382e0 commit 88862a4

File tree

3 files changed

+11
-0
lines changed

3 files changed

+11
-0
lines changed

src/State/SerializerAwareProviderInterface.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
* Injects serializer in providers.
2020
*
2121
* @author Vincent Chalamon <[email protected]>
22+
*
23+
* @deprecated in 4.2, to be removed in 5.0 because it violates the dependency injection principle.
2224
*/
2325
interface SerializerAwareProviderInterface
2426
{

src/State/SerializerAwareProviderTrait.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,13 @@ trait SerializerAwareProviderTrait
3030

3131
public function setSerializerLocator(ContainerInterface $serializerLocator): void
3232
{
33+
trigger_deprecation(
34+
'api-platform/core',
35+
'4.2',
36+
'The "%s" interface is deprecated and will be removed in 5.0. It violates the dependency injection principle.',
37+
SerializerAwareProviderInterface::class
38+
);
39+
3340
$this->serializerLocator = $serializerLocator;
3441
}
3542

tests/Fixtures/TestBundle/State/SerializableProvider.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020

2121
/**
2222
* @author Vincent Chalamon <[email protected]>
23+
*
24+
* @deprecated in 4.2, to be removed in 5.0 because it violates the dependency injection principle.
2325
*/
2426
class SerializableProvider implements ProviderInterface, SerializerAwareProviderInterface
2527
{

0 commit comments

Comments
 (0)