This notation is the only way to support controllers as services in the 3.4 LTS version. This deprecation has only a very small benefit for the Symfony codebase (the amount of code involved is very small), but has a huge cost for the community which cannot avoid this deprecation without dropping support for the LTS or making crazy logic to switch routing files (as they cannot switch things inline in YAML or XML files). This deprecation will be delayed until a future 5.x version, when the current LTS will be 4.4 (which supports the new notation).
3.8 KiB
3.8 KiB
UPGRADE FROM 4.x to 5.0
Config
- Added the
getChildNodeDefinitions()
method toParentNodeDefinitionInterface
. - The
Processor
class has been made final
Console
- Removed the
setCrossingChar()
method in favor of thesetDefaultCrossingChar()
method inTableStyle
. - Removed the
setHorizontalBorderChar()
method in favor of thesetDefaultCrossingChars()
method inTableStyle
. - Removed the
getHorizontalBorderChar()
method in favor of thegetBorderChars()
method inTableStyle
. - Removed the
setVerticalBorderChar()
method in favor of thesetVerticalBorderChars()
method inTableStyle
. - Removed the
getVerticalBorderChar()
method in favor of thegetBorderChars()
method inTableStyle
.
DependencyInjection
- Removed the
TypedReference::canBeAutoregistered()
andTypedReference::getRequiringClass()
methods. - Removed support for auto-discovered extension configuration class which does not implement
ConfigurationInterface
.
EventDispatcher
- The
TraceableEventDispatcherInterface
has been removed.
FrameworkBundle
-
Removed support for
bundle:controller:action
syntax to reference controllers. UseserviceOrFqcn::method
instead whereserviceOrFqcn
is either the service ID when using controllers as services or the FQCN of the controller.Before:
bundle_controller: path: / defaults: _controller: FrameworkBundle:Redirect:redirect
After:
bundle_controller: path: / defaults: _controller: Symfony\Bundle\FrameworkBundle\Controller\RedirectController::redirectAction
-
Removed
Symfony\Bundle\FrameworkBundle\Controller\ControllerNameParser
. -
Warming up a router in
RouterCacheWarmer
that does not implement theWarmableInterface
is not supported anymore. -
The
RequestDataCollector
class has been removed. Use theSymfony\Component\HttpKernel\DataCollector\RequestDataCollector
class instead.
HttpFoundation
- The
$size
argument of theUploadedFile
constructor has been removed. - The
getClientSize()
method of theUploadedFile
class has been removed. - The
getSession()
method of theRequest
class throws an exception when session is null.
Security
- The
ContextListener::setLogoutOnUserChange()
method has been removed. - The
Symfony\Component\Security\Core\User\AdvancedUserInterface
has been removed. - The
ExpressionVoter::addExpressionLanguageProvider()
method has been removed.
SecurityBundle
- The
logout_on_user_change
firewall option has been removed. - The
switch_user.stateless
firewall option has been removed. - The
SecurityUserValueResolver
class has been removed.
Translation
- The
FileDumper::setBackup()
method has been removed. - The
TranslationWriter::disableBackup()
method has been removed.
TwigBundle
- The default value (
false
) of thetwig.strict_variables
configuration option has been changed to%kernel.debug%
.
Validator
- The
Email::__construct()
'strict' property has been removed. Use 'mode'=>"strict" instead. - Calling
EmailValidator::__construct()
method with a boolean parameter has been removed, useEmailValidator("strict")
instead. - Removed the
checkDNS
anddnsMessage
options from theUrl
constraint.
Workflow
- The
DefinitionBuilder::reset()
method has been removed, use theclear()
one instead. add
method has been removed useaddWorkflow
method inWorkflow\Registry
instead.SupportStrategyInterface
has been removed, useWorkflowSupportStrategyInterface
instead.ClassInstanceSupportStrategy
has been removed, useInstanceOfSupportStrategy
instead.