From 68c93057fbf4975b18f78f9477da2b3a55e78421 Mon Sep 17 00:00:00 2001 From: Yannick Date: Mon, 8 Feb 2016 22:05:30 +0100 Subject: [PATCH] [DEPRECATION] : deprecated support for Traversable in method ResizeFormListener::PreSubmit --- UPGRADE-3.1.md | 3 +++ UPGRADE-4.0.md | 2 ++ src/Symfony/Component/Form/CHANGELOG.md | 2 ++ .../Form/Extension/Core/EventListener/ResizeFormListener.php | 4 ++++ 4 files changed, 11 insertions(+) diff --git a/UPGRADE-3.1.md b/UPGRADE-3.1.md index e4844dd620..dcdd7f3acc 100644 --- a/UPGRADE-3.1.md +++ b/UPGRADE-3.1.md @@ -15,6 +15,9 @@ 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. HttpKernel ---------- diff --git a/UPGRADE-4.0.md b/UPGRADE-4.0.md index a485e69023..69a7d9a0ff 100644 --- a/UPGRADE-4.0.md +++ b/UPGRADE-4.0.md @@ -13,6 +13,8 @@ Form ---- * The `choices_as_values` option of the `ChoiceType` has been removed. + * Support for data objects that implements both `\Traversable` and + `\ArrayAccess` in `ResizeFormListener::preSubmit` method has been removed Serializer ---------- diff --git a/src/Symfony/Component/Form/CHANGELOG.md b/src/Symfony/Component/Form/CHANGELOG.md index 3671caab08..b82f644e31 100644 --- a/src/Symfony/Component/Form/CHANGELOG.md +++ b/src/Symfony/Component/Form/CHANGELOG.md @@ -5,6 +5,8 @@ CHANGELOG ----- * deprecated the "choices_as_values" option of ChoiceType + * deprecated support for data objects that implements both `\Traversable` and + `\ArrayAccess` in `ResizeFormListener::preSubmit` method 3.0.0 ----- diff --git a/src/Symfony/Component/Form/Extension/Core/EventListener/ResizeFormListener.php b/src/Symfony/Component/Form/Extension/Core/EventListener/ResizeFormListener.php index 197f556308..cd00cf368e 100644 --- a/src/Symfony/Component/Form/Extension/Core/EventListener/ResizeFormListener.php +++ b/src/Symfony/Component/Form/Extension/Core/EventListener/ResizeFormListener.php @@ -102,6 +102,10 @@ class ResizeFormListener implements EventSubscriberInterface $form = $event->getForm(); $data = $event->getData(); + if ($data instanceof \Traversable && $data instanceof \ArrayAccess) { + @trigger_error('Support for objects implementing both \Traversable and \ArrayAccess is deprecated since version 3.1 and will be removed in 4.0. Use an array instead.', E_USER_DEPRECATED); + } + if (null === $data || '' === $data) { $data = array(); }