Skip to content

Commit 1265bc5

Browse files
feature #50839 Remove BC layers related to new methods and new parameters (nicolas-grekas)
This PR was merged into the 7.0 branch. Discussion ---------- Remove BC layers related to new methods and new parameters | Q | A | ------------- | --- | Branch? | 7.0 | Bug fix? | no | New feature? | no | Deprecations? | no | Tickets | - | License | MIT | Doc PR | - * Add method `__toString()` to `InputInterface` * Add argument `$id` and `$asGhostObject` to `DumperInterface::isProxyCandidate()` and `getProxyCode()` * Add argument `$source` to `FileLoader::registerClasses()` * Add argument `$lock` to `Filesystem::appendToFile()` * Remove command `translation:update`, use `translation:extract` instead * Add argument `$reflector` to `ArgumentResolverInterface::getArguments()` and `ArgumentMetadataFactoryInterface::createArgumentMetadata()` * Add method `isNullSafe()` to `PropertyPathInterface` * Add argument `$routeParameters` to `UrlMatcher::handleRouteRequirements()` * Add argument `$badgeFqcn` to `Passport::addBadge()` * Add argument `$lifetime` to `LoginLinkHandlerInterface::createLoginLink()` * Add method `getSupportedTypes()` to `DenormalizerInterface` and `NormalizerInterface` * Add methods `getConstraint()`, `getCause()` and `__toString()` to `ConstraintViolationInterface` * Add method `__toString()` to `ConstraintViolationListInterface` * Add method `disableTranslation()` to `ConstraintViolationBuilderInterface` * Add argument `$label` to `VarDumper::dump()` Commits ------- 57b5d2a Remove BC layers related to new methods and new parameters
2 parents 06adee2 + 57b5d2a commit 1265bc5

35 files changed

+203
-148
lines changed

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

Lines changed: 49 additions & 46 deletions
Large diffs are not rendered by default.

UPGRADE-7.0.md

Lines changed: 49 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ Console
1616
* Remove `Command::$defaultName` and `Command::$defaultDescription`, use the `AsCommand` attribute instead
1717
* Passing null to `*Command::setApplication()`, `*FormatterStyle::setForeground/setBackground()`, `Helper::setHelpSet()`, `Input*::setDefault()` and `Question::setAutocompleterCallback/setValidator()` must be done explicitly
1818
* Remove `StringInput::REGEX_STRING`
19+
* Add method `__toString()` to `InputInterface`
1920

2021
DependencyInjection
2122
-------------------
@@ -28,6 +29,8 @@ DependencyInjection
2829
* Remove `PhpDumper` options `inline_factories_parameter` and `inline_class_loader_parameter`, use options `inline_factories` and `inline_class_loader` instead
2930
* Parameter names of `ParameterBag` cannot be numerics
3031
* Remove `ContainerAwareInterface` and `ContainerAwareTrait`, use dependency injection instead
32+
* Add argument `$id` and `$asGhostObject` to `DumperInterface::isProxyCandidate()` and `getProxyCode()`
33+
* Add argument `$source` to `FileLoader::registerClasses()`
3134

3235
DoctrineBridge
3336
--------------
@@ -42,6 +45,16 @@ DoctrineBridge
4245
* DoctrineBridge now requires `doctrine/event-manager:^2`
4346
* Add parameter `$isSameDatabase` to `DoctrineTokenProvider::configureSchema()`
4447

48+
Filesystem
49+
----------
50+
51+
* Add argument `$lock` to `Filesystem::appendToFile()`
52+
53+
FrameworkBundle
54+
---------------
55+
56+
* Remove command `translation:update`, use `translation:extract` instead
57+
4558
HttpFoundation
4659
--------------
4760

@@ -55,6 +68,11 @@ HttpFoundation
5568
* Remove `Request::getContentType()`, use `Request::getContentTypeFormat()` instead
5669
* Throw an `InvalidArgumentException` when calling `Request::create()` with a malformed URI
5770

71+
HttpKernel
72+
----------
73+
74+
* Add argument `$reflector` to `ArgumentResolverInterface::getArguments()` and `ArgumentMetadataFactoryInterface::createArgumentMetadata()`
75+
5876
Lock
5977
----
6078

@@ -65,11 +83,27 @@ Messenger
6583

6684
* Add parameter `$isSameDatabase` to `DoctrineTransport::configureSchema()`
6785

86+
PropertyAccess
87+
--------------
88+
89+
* Add method `isNullSafe()` to `PropertyPathInterface`
90+
6891
ProxyManagerBridge
6992
------------------
7093

7194
* Remove the bridge, use VarExporter's lazy objects instead
7295

96+
Routing
97+
-------
98+
99+
* Add argument `$routeParameters` to `UrlMatcher::handleRouteRequirements()`
100+
101+
Security
102+
--------
103+
104+
* Add argument `$badgeFqcn` to `Passport::addBadge()`
105+
* Add argument `$lifetime` to `LoginLinkHandlerInterface::createLoginLink()`
106+
73107
SecurityBundle
74108
--------------
75109

@@ -78,11 +112,23 @@ SecurityBundle
78112
Serializer
79113
----------
80114

115+
* Add method `getSupportedTypes()` to `DenormalizerInterface` and `NormalizerInterface`
81116
* Remove denormalization support for `AbstractUid` in `UidNormalizer`, use one of `AbstractUid` child class instead
82117
* Denormalizing to an abstract class in `UidNormalizer` now throws an `\Error`
83118
* Remove `ContextAwareDenormalizerInterface`, use `DenormalizerInterface` instead
84119
* Remove `ContextAwareNormalizerInterface`, use `NormalizerInterface` instead
85120
* Remove `CacheableSupportsMethodInterface`, use `NormalizerInterface` and `DenormalizerInterface` instead
86-
* First argument of `ClassMetadata::setSerializedName()` is now required
87-
* Third argument `array $context = []` of the `NormalizerInterface::supportsNormalization()` is now required
88-
* Fourth argument `array $context = []` of the `DenormalizerInterface::supportsDenormalization()` is now required
121+
* First argument of `AttributeMetadata::setSerializedName()` is now required
122+
* Add argument `$context` to `NormalizerInterface::supportsNormalization()` and `DenormalizerInterface::supportsDenormalization()`
123+
124+
Validator
125+
---------
126+
127+
* Add methods `getConstraint()`, `getCause()` and `__toString()` to `ConstraintViolationInterface`
128+
* Add method `__toString()` to `ConstraintViolationListInterface`
129+
* Add method `disableTranslation()` to `ConstraintViolationBuilderInterface`
130+
131+
VarDumper
132+
---------
133+
134+
* Add argument `$label` to `VarDumper::dump()`

src/Symfony/Bundle/FrameworkBundle/CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
CHANGELOG
22
=========
33

4+
7.0
5+
---
6+
7+
* Remove command `translation:update`, use `translation:extract` instead
8+
49
6.3
510
---
611

src/Symfony/Bundle/FrameworkBundle/Command/TranslationUpdateCommand.php

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -127,10 +127,6 @@ protected function execute(InputInterface $input, OutputInterface $output): int
127127
$io = new SymfonyStyle($input, $output);
128128
$errorIo = $output instanceof ConsoleOutputInterface ? new SymfonyStyle($input, $output->getErrorOutput()) : $io;
129129

130-
if ('translation:update' === $input->getFirstArgument()) {
131-
$errorIo->caution('Command "translation:update" is deprecated since version 5.4 and will be removed in Symfony 6.0. Use "translation:extract" instead.');
132-
}
133-
134130
$io = new SymfonyStyle($input, $output);
135131
$errorIo = $io->getErrorStyle();
136132

src/Symfony/Bundle/FrameworkBundle/Tests/Command/TranslationUpdateCommandTest.php

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,6 @@ class TranslationUpdateCommandTest extends TestCase
2929
private $fs;
3030
private $translationDir;
3131

32-
public function testDumpMessagesAndCleanWithDeprecatedCommandName()
33-
{
34-
$tester = $this->createCommandTester(['messages' => ['foo' => 'foo']]);
35-
$tester->execute(['command' => 'translation:update', 'locale' => 'en', 'bundle' => 'foo', '--dump-messages' => true, '--clean' => true]);
36-
$this->assertMatchesRegularExpression('/foo/', $tester->getDisplay());
37-
$this->assertMatchesRegularExpression('/1 message was successfully extracted/', $tester->getDisplay());
38-
}
39-
4032
public function testDumpMessagesAndClean()
4133
{
4234
$tester = $this->createCommandTester(['messages' => ['foo' => 'foo']]);

src/Symfony/Component/Console/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ CHANGELOG
44
7.0
55
---
66

7+
* Add method `__toString()` to `InputInterface`
78
* Remove `Command::$defaultName` and `Command::$defaultDescription`, use the `AsCommand` attribute instead
89
* Passing null to `*Command::setApplication()`, `*FormatterStyle::setForeground/setBackground()`, `Helper::setHelpSet()`, `Input*::setDefault()` and `Question::setAutocompleterCallback/setValidator()` must be done explicitly
910
* Remove `StringInput::REGEX_STRING`

src/Symfony/Component/Console/Input/InputInterface.php

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,6 @@
1818
* InputInterface is the interface implemented by all input classes.
1919
*
2020
* @author Fabien Potencier <fabien@symfony.com>
21-
*
22-
* @method string __toString() Returns a stringified representation of the args passed to the command.
23-
* InputArguments MUST be escaped as well as the InputOption values passed to the command.
2421
*/
2522
interface InputInterface
2623
{
@@ -147,4 +144,11 @@ public function isInteractive(): bool;
147144
* @return void
148145
*/
149146
public function setInteractive(bool $interactive);
147+
148+
/**
149+
* Returns a stringified representation of the args passed to the command.
150+
*
151+
* InputArguments MUST be escaped as well as the InputOption values passed to the command.
152+
*/
153+
public function __toString(): string;
150154
}

src/Symfony/Component/Console/Tests/EventListener/ErrorListenerTest.php

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -107,19 +107,6 @@ public function testAllKindsOfInputCanBeLogged()
107107
$listener->onConsoleTerminate($this->getConsoleTerminateEvent(new StringInput('test:run --foo=bar'), 255));
108108
}
109109

110-
public function testCommandNameIsDisplayedForNonStringableInput()
111-
{
112-
$logger = $this->createMock(LoggerInterface::class);
113-
$logger
114-
->expects($this->once())
115-
->method('debug')
116-
->with('Command "{command}" exited with code "{code}"', ['command' => 'test:run', 'code' => 255])
117-
;
118-
119-
$listener = new ErrorListener($logger);
120-
$listener->onConsoleTerminate($this->getConsoleTerminateEvent($this->createMock(InputInterface::class), 255));
121-
}
122-
123110
private function getConsoleTerminateEvent(InputInterface $input, $exitCode)
124111
{
125112
return new ConsoleTerminateEvent(new Command('test:run'), $input, $this->createMock(OutputInterface::class), $exitCode);

src/Symfony/Component/DependencyInjection/CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ CHANGELOG
1212
* Remove `PhpDumper` options `inline_factories_parameter` and `inline_class_loader_parameter`, use options `inline_factories` and `inline_class_loader` instead
1313
* Parameter names of `ParameterBag` cannot be numerics
1414
* Remove `ContainerAwareInterface` and `ContainerAwareTrait`, use dependency injection instead
15+
* Add argument `$id` and `$asGhostObject` to `DumperInterface::isProxyCandidate()` and `getProxyCode()`
16+
* Add argument `$source` to `FileLoader::registerClasses()`
1517

1618
6.4
1719
---

src/Symfony/Component/DependencyInjection/LazyProxy/PhpDumper/DumperInterface.php

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,9 @@ interface DumperInterface
2323
/**
2424
* Inspects whether the given definitions should produce proxy instantiation logic in the dumped container.
2525
*
26-
* @param bool|null &$asGhostObject Set to true after the call if the proxy is a ghost object
27-
* @param string|null $id
26+
* @param bool|null &$asGhostObject Set to true after the call if the proxy is a ghost object
2827
*/
29-
public function isProxyCandidate(Definition $definition/* , bool &$asGhostObject = null, string $id = null */): bool;
28+
public function isProxyCandidate(Definition $definition, bool &$asGhostObject = null, string $id = null): bool;
3029

3130
/**
3231
* Generates the code to be used to instantiate a proxy in the dumped factory code.
@@ -35,8 +34,6 @@ public function getProxyFactoryCode(Definition $definition, string $id, string $
3534

3635
/**
3736
* Generates the code for the lazy proxy.
38-
*
39-
* @param string|null $id
4037
*/
41-
public function getProxyCode(Definition $definition/* , string $id = null */): string;
38+
public function getProxyCode(Definition $definition, string $id = null): string;
4239
}

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