216 lines
6.2 KiB
Markdown
216 lines
6.2 KiB
Markdown
UPGRADE FROM 3.0 to 3.1
|
|
=======================
|
|
|
|
DependencyInjection
|
|
-------------------
|
|
|
|
* Using unsupported configuration keys in YAML configuration files has been
|
|
deprecated and will raise an exception in Symfony 4.0.
|
|
|
|
* Using unsupported options to configure service aliases has been deprecated
|
|
and will raise an exception in Symfony 4.0.
|
|
|
|
Form
|
|
----
|
|
|
|
* The `choices_as_values` option of the `ChoiceType` has been deprecated and
|
|
will be removed in Symfony 4.0.
|
|
|
|
* Support for data objects that implements both `Traversable` and `ArrayAccess`
|
|
in `ResizeFormListener::preSubmit` method has been deprecated and will be
|
|
removed in Symfony 4.0.
|
|
* `TextType` now implements `DataTransformerInterface` and will always return
|
|
an empty string when `empty_data` option is explicitly assigned to it.
|
|
|
|
* Using callable strings as choice options in ChoiceType has been deprecated
|
|
in favor of `PropertyPath` in Symfony 4.0 use a "\Closure" instead.
|
|
|
|
Before:
|
|
|
|
```php
|
|
'choice_value' => new PropertyPath('range'),
|
|
'choice_label' => 'strtoupper',
|
|
```
|
|
|
|
After:
|
|
|
|
```php
|
|
'choice_value' => 'range',
|
|
'choice_label' => function ($choice) {
|
|
return strtoupper($choice);
|
|
},
|
|
```
|
|
|
|
* Caching of the loaded `ChoiceListInterface` in the `LazyChoiceList` has been deprecated,
|
|
it must be cached in the `ChoiceLoaderInterface` implementation instead.
|
|
|
|
FrameworkBundle
|
|
---------------
|
|
|
|
* As it was never an officially supported feature, the support for absolute
|
|
template paths has been deprecated and will be removed in Symfony 4.0.
|
|
|
|
* The abstract `Controller` class now has a `json()` helper method that creates
|
|
a `JsonResponse`. If you have existing controllers extending `Controller`
|
|
that contain a method with this name, you need to rename that method to avoid
|
|
conflicts.
|
|
|
|
* The following form types registered as services have been deprecated and
|
|
will be removed in Symfony 4.0; 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"`
|
|
|
|
* The service `serializer.mapping.cache.apc` has been deprecated in favor of
|
|
`serializer.mapping.cache.doctrine.apc` to be consistent with the validator
|
|
cache service. If you are using `serializer.mapping.cache.apc`, use
|
|
`serializer.mapping.cache.doctrine.apc` instead.
|
|
|
|
* The `framework.serializer.cache` option has been deprecated. APCu should now
|
|
be automatically used when available so you can remove this configuration key.
|
|
|
|
HttpKernel
|
|
----------
|
|
|
|
* Passing objects as URI attributes to the ESI and SSI renderers has been
|
|
deprecated and will be removed in Symfony 4.0. The inline fragment
|
|
renderer should be used with object attributes.
|
|
|
|
* The `ControllerResolver::getArguments()` method has been deprecated and will
|
|
be removed in 4.0. If you have your own `ControllerResolverInterface`
|
|
implementation, you should inject either an `ArgumentResolverInterface`
|
|
instance or the new `ArgumentResolver` in the `HttpKernel`.
|
|
|
|
Serializer
|
|
----------
|
|
|
|
* Passing a Doctrine `Cache` instance to the `ClassMetadataFactory` has been
|
|
deprecated and will not be supported in Symfony 4.0. You should use the
|
|
`CacheClassMetadataFactory` class instead.
|
|
|
|
Translation
|
|
-----------
|
|
|
|
* Deprecated the backup feature of the file dumper classes. It will be removed
|
|
in Symfony 4.0.
|
|
|
|
Yaml
|
|
----
|
|
|
|
* Usage of `%` at the beginning of an unquoted string has been deprecated and
|
|
will lead to a `ParseException` in Symfony 4.0.
|
|
|
|
* The `Dumper::setIndentation()` method is deprecated and will be removed in
|
|
Symfony 4.0. Pass the indentation level to the constructor instead.
|
|
|
|
* Deprecated support for passing `true`/`false` as the second argument to the
|
|
`parse()` method to trigger exceptions when an invalid type was passed.
|
|
|
|
Before:
|
|
|
|
```php
|
|
Yaml::parse('{ "foo": "bar", "fiz": "cat" }', true);
|
|
```
|
|
|
|
After:
|
|
|
|
```php
|
|
Yaml::parse('{ "foo": "bar", "fiz": "cat" }', Yaml::PARSE_EXCEPTION_ON_INVALID_TYPE);
|
|
```
|
|
|
|
* Deprecated support for passing `true`/`false` as the third argument to the
|
|
`parse()` method to toggle object support.
|
|
|
|
Before:
|
|
|
|
```php
|
|
Yaml::parse('{ "foo": "bar", "fiz": "cat" }', false, true);
|
|
```
|
|
|
|
After:
|
|
|
|
```php
|
|
Yaml::parse('{ "foo": "bar", "fiz": "cat" }', Yaml::PARSE_OBJECT);
|
|
```
|
|
|
|
* Deprecated support for passing `true`/`false` as the fourth argument to the
|
|
`parse()` method to parse objects as maps.
|
|
|
|
Before:
|
|
|
|
```php
|
|
Yaml::parse('{ "foo": "bar", "fiz": "cat" }', false, false, true);
|
|
```
|
|
|
|
After:
|
|
|
|
```php
|
|
Yaml::parse('{ "foo": "bar", "fiz": "cat" }', Yaml::PARSE_OBJECT_FOR_MAP);
|
|
```
|
|
|
|
* Deprecated support for passing `true`/`false` as the fourth argument to the
|
|
`dump()` method to trigger exceptions when an invalid type was passed.
|
|
|
|
Before:
|
|
|
|
```php
|
|
Yaml::dump(array('foo' => new A(), 'bar' => 1), 0, 0, true);
|
|
```
|
|
|
|
After:
|
|
|
|
```php
|
|
Yaml::dump(array('foo' => new A(), 'bar' => 1), 0, 0, Yaml::DUMP_EXCEPTION_ON_INVALID_TYPE);
|
|
```
|
|
|
|
* Deprecated support for passing `true`/`false` as the fifth argument to the
|
|
`dump()` method to toggle object support.
|
|
|
|
Before:
|
|
|
|
```php
|
|
Yaml::dump(array('foo' => new A(), 'bar' => 1), 0, 0, false, true);
|
|
```
|
|
|
|
After:
|
|
|
|
```php
|
|
Yaml::dump(array('foo' => new A(), 'bar' => 1), 0, 0, false, Yaml::DUMP_OBJECT);
|
|
```
|
|
|
|
* The `!!php/object` tag to indicate dumped PHP objects has been deprecated
|
|
and will be removed in Symfony 4.0. Use the `!php/object` tag instead.
|
|
|
|
Validator
|
|
---------
|
|
|
|
* The `DateTimeValidator::PATTERN` constant has been deprecated and will be
|
|
removed in Symfony 4.0.
|