Recommend this page to a friend! |
Classes of Murat Cileli | Papernic | vendor/symfony/symfony/UPGRADE-2.3.md | Download |
|
Download?UPGRADE FROM 2.2 to 2.3Form* Although this was not officially supported nor documented, it was possible to set the option "validation_groups" to false, resulting in the group "Default" being validated. Now, if you set "validation_groups" to false, the validation of a form will be skipped (except for a few integrity checks on the form). If you want to validate a form in group "Default", you should either explicitly set "validation_groups" to "Default" or alternatively set it to null. Before:
After:
* The array type hint from DataMapperInterface was removed. You should adapt implementations of that interface accordingly. Before:
After:
Instead of an array, the methods here are now passed a RecursiveIteratorIterator containing an InheritDataAwareIterator by default, so you don't need to handle forms inheriting their parent data (former "virtual forms") in the data mapper anymore. Before:
After:
The `_SET_DATA` events are now guaranteed to be fired after the children
were added by the FormBuilder (unless setData() is called manually). Before,
the A consequence of this change is that you need to set the "auto_initialize"
option to Before:
This code will now throw an exception with the following message: Automatic initialization is only supported on root forms. You should set the "auto_initialize" option to false on the field "field". Consequently, you need to set the "auto_initialize" option: After (Alternative 1):
The problem also disappears if you work with After (Alternative 2):
The best solution is in most cases to let After (Alternative 3):
After (Alternative 4):
* Previously, when the "data" option of a field was set to In cases where you made use of the previous behavior, you should now remove the "data" option altogether. Before:
After:
PropertyAccess* PropertyAccessor was changed to continue its search for a property or method even if a non-public match was found. This means that the property "author" in the following class will now correctly be found:
Although this is uncommon, similar cases exist in practice. Instead of the PropertyAccessDeniedException that was thrown here, the more generic NoSuchPropertyException is thrown now if no public property nor method are found by the PropertyAccessor. PropertyAccessDeniedException was removed completely. Before:
After:
DomCrawler * Before:
After:
Console* New verbosity levels have been added, therefore if you used to do check the output verbosity level directly for VERBOSITY_VERBOSE you probably want to update it to a greater than comparison: Before:
After:
BrowserKit* If you are receiving responses with non-3xx Status Code and Location header please be aware that you won't be able to use auto-redirects on these kind of responses. If you are correctly passing 3xx Status Code with Location header, you don't have to worry about the change. If you were using responses with Location header and non-3xx Status Code, you have to update your code to manually create another request to URL grabbed from the Location header. |