This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
symfony/UPGRADE-3.1.md

216 lines
6.2 KiB
Markdown
Raw Normal View History

2016-01-27 23:13:26 +00:00
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.
2016-04-01 02:30:15 +01:00
* 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.
2016-01-27 23:13:26 +00:00
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.
2016-04-01 02:30:15 +01:00
* 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.
2016-04-01 05:28:01 +01:00
* 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`.
2016-01-27 23:13:26 +00:00
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.
2016-01-27 23:13:26 +00:00
Yaml
----
2016-04-01 02:30:15 +01:00
* 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);
```
2016-04-01 02:30:15 +01:00
* 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, Yaml::DUMP_OBJECT);
2016-02-07 11:55:44 +00:00
```
2016-01-27 23:13:26 +00:00
* 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
---------
2016-04-01 02:30:15 +01:00
* The `DateTimeValidator::PATTERN` constant has been deprecated and will be
removed in Symfony 4.0.