4.6 KiB
UPGRADE FROM 3.x to 4.0
DependencyInjection
-
Using unsupported configuration keys in YAML configuration files raises an exception.
-
Using unsupported options to configure service aliases raises an exception.
Form
-
The
choices_as_values
option of theChoiceType
has been removed. -
Support for data objects that implements both
Traversable
andArrayAccess
inResizeFormListener::preSubmit
method has been removed. -
Using callable strings as choice options in ChoiceType is not supported anymore in favor of passing PropertyPath instances.
Before:
'choice_value' => new PropertyPath('range'), 'choice_label' => 'strtoupper',
After:
'choice_value' => 'range', 'choice_label' => function ($choice) { return strtoupper($choice); },
FrameworkBundle
-
Support for absolute template paths has been removed.
-
The following form types registered as services have been removed; use their fully-qualified class name instead:
"form.type.birthday"
"form.type.checkbox"
"form.type.collection"
"form.type.country"
"form.type.currency"
"form.type.date"
"form.type.datetime"
"form.type.email"
"form.type.file"
"form.type.hidden"
"form.type.integer"
"form.type.language"
"form.type.locale"
"form.type.money"
"form.type.number"
"form.type.password"
"form.type.percent"
"form.type.radio"
"form.type.range"
"form.type.repeated"
"form.type.search"
"form.type.textarea"
"form.type.text"
"form.type.time"
"form.type.timezone"
"form.type.url"
"form.type.button"
"form.type.submit"
"form.type.reset"
HttpKernel
-
Possibility to pass objects as URI attributes to the ESI and SSI renderers has been removed. The inline fragment renderer should be used with object attributes.
-
The
ControllerResolver::getArguments()
method has been removed. If you have your ownControllerResolverInterface
implementation, you should inject anArgumentResolverInterface
instance.
Serializer
- The ability to pass a Doctrine
Cache
instance to theClassMetadataFactory
class has been removed. You should use theCacheClassMetadataFactory
class instead.
Translation
- Removed the backup feature from the file dumper classes.
Yaml
-
Starting an unquoted string with
%
leads to aParseException
. -
The
Dumper::setIndentation()
method was removed. Pass the indentation level to the constructor instead. -
Removed support for passing
true
/false
as the second argument to theparse()
method to trigger exceptions when an invalid type was passed.Before:
Yaml::parse('{ "foo": "bar", "fiz": "cat" }', true);
After:
Yaml::parse('{ "foo": "bar", "fiz": "cat" }', Yaml::PARSE_EXCEPTION_ON_INVALID_TYPE);
-
Removed support for passing
true
/false
as the third argument to theparse()
method to toggle object support.Before:
Yaml::parse('{ "foo": "bar", "fiz": "cat" }', false, true);
After:
Yaml::parse('{ "foo": "bar", "fiz": "cat" }', Yaml::PARSE_OBJECT);
-
Removed support for passing
true
/false
as the fourth argument to theparse()
method to parse objects as maps.Before:
Yaml::parse('{ "foo": "bar", "fiz": "cat" }', false, false, true);
After:
Yaml::parse('{ "foo": "bar", "fiz": "cat" }', Yaml::PARSE_OBJECT_FOR_MAP);
-
Removed support for passing
true
/false
as the fourth argument to thedump()
method to trigger exceptions when an invalid type was passed.Before:
Yaml::dump(array('foo' => new A(), 'bar' => 1), 0, 0, true);
After:
Yaml::dump(array('foo' => new A(), 'bar' => 1), 0, 0, Yaml::DUMP_EXCEPTION_ON_INVALID_TYPE);
-
Removed support for passing
true
/false
as the fifth argument to thedump()
method to toggle object support.Before:
Yaml::dump(array('foo' => new A(), 'bar' => 1), 0, 0, false, true);
After:
Yaml::dump(array('foo' => new A(), 'bar' => 1), 0, 0, false, Yaml::DUMP_OBJECT);
-
The
!!php/object
tag to indicate dumped PHP objects was removed in favor of the!php/object
tag.
Validator
- The
DateTimeValidator::PATTERN
constant was removed.