8000 bug #23050 [Form][Profiler] Fixes form collector triggering deprecati… · symfony/symfony@5859703 · GitHub
[go: up one dir, main page]

Skip to content

Commit 5859703

Browse files
committed
bug #23050 [Form][Profiler] Fixes form collector triggering deprecations (ogizanagi)
This PR was merged into the 3.3 branch. Discussion ---------- [Form][Profiler] Fixes form collector triggering deprecations | Q | A | ------------- | --- | Branch? | 3.3 <!-- see comment below --> | Bug fix? | yes | New feature? | no <!-- don't forget updating src/**/CHANGELOG.md files --> | BC breaks? | no | Deprecations? | no <!-- don't forget updating UPGRADE-*.md files --> | Tests pass? | yes | Fixed tickets | N/A <!-- #-prefixed issue number(s), if any --> | License | MIT | Doc PR | N/A Since 3.3, if you inspect your logs when accessing the form profiler panel, you'll see some of these: ```sh php.INFO: User Deprecated: The Symfony\Bundle\WebProfilerBundle\Twig\WebProfilerExtension::dumpValue() method is deprecated since version 3.2 and will be removed in 4.0. [...] at /src/Symfony/Bundle/WebProfilerBundle/Twig/WebProfilerExtension.php:119 ``` The [WebProfilerExtension](https://github.com/symfony/symfony/blob/master/src/Symfony/Bundle/WebProfilerBundle/Twig/WebProfilerExtension.php#L73) is still using a `ValueExporter` instance for BC reasons when the $value ins't an instance of `Data` and this BC layer will be removed in 4.0 (so it'll throw an exception/error when trying to use it with something else than a `Data` instance). The issue is since #21638, collectors (including forms one) have been drastically simplified to leverage the "seamless usage of Data clones", which is great!... But there is a slightly different implementation between `Data::seek()` and [`Data::__get()`](https://github.com/symfony/symfony/blob/master/src/Symfony/Component/VarDumper/Cloner/Data.php#L123-L130). There are probably good reasons for this, but it prevents from using classic Twig property access when the underlying data may be a scalar (`null`, `false`, ...). I already spot that while working on the [Validator panel](https://github.com/symfony/symfony/pull/22554/files#diff-deac3c5ce4aa87243093dcd6a3f77a56R84). Perhaps there is a better solution, though. Anyway, current `master` is currently broken, as it still tries to use the `ValueExporter`, which is already removed. And removing the BC layer in `WebProfilerExtension` isn't enough for now. It needs this fix. BTW it also fixes rendering of the concerned inlined-dumps: |Before|After| |--|--| |<img width="818" alt="screenshot 2017-06-03 a 13 35 25" src="https://cloud.githubusercontent.com/assets/2211145/26753222/01a692e6-4862-11e7-90d5-9cc9e4832648.PNG">|<img width="817" alt="screenshot 2017-06-03 a 13 35 47" src="https://cloud.githubusercontent.com/assets/2211145/26753224/090d5d6c-4862-11e7-87c1-73d5346f602c.PNG">| Commits ------- 9de898d [Form][Profiler] Fixes form collector triggering deprecations
2 parents 6b9ff81 + 9de898d commit 5859703

File tree

1 file changed

+7
-7
lines changed
  • src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector

1 file changed

+7
-7
lines changed

src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector/form.html.twig

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -525,21 +525,21 @@
525525
<th class="font-normal" scope="row">Model Format</th>
526526
<td>
527527
{% if data.default_data.model is defined %}
528-
{{ profiler_dump(data.default_data.model) }}
528+
{{ profiler_dump(data.default_data.seek('model')) }}
529529
{% else %}
530530
<em class="font-normal text-muted">same as normalized format</em>
531531
{% endif %}
532532
</td>
533533
</tr>
534534
<tr>
535535
<th class="font-normal" scope="row">Normalized Format</th>
536-
<td>{{ profiler_dump(data.default_data.norm) }}</td>
536+
<td>{{ profiler_dump(data.default_data.seek('norm')) }}</td>
537537
</tr>
538538
<tr>
539539
<th class="font-normal" scope="row">View Format</th>
540540
<td>
541541
{% if data.default_data.view is defined %}
542-
{{ profiler_dump(data.default_data.view) }}
542+
{{ profiler_dump(data.default_data.seek('view')) }}
543543
{% else %}
544544
<em class="font-normal text-muted">same as normalized format</em>
545545
{% endif %}
@@ -571,21 +571,21 @@
571571
<th class="font-normal" scope="row">View Format</th>
572572
<td>
573573
{% if data.submitted_data.view is defined %}
574-
{{ profiler_dump(data.submitted_data.view) }}
574+
{{ profiler_dump(data.submitted_data.seek('view')) }}
575575
{% else %}
576576
<em class="font-normal text-muted">same as normalized format</em>
577577
{% endif %}
578578
</td>
579579
</tr>
580580
<tr>
581581
<th class="font-normal" scope="row">Normalized Format</th>
582-
<td>{{ profiler_dump(data.submitted_data.norm) }}</td>
582+
<td>{{ profiler_dump(data.submitted_data.seek('norm')) }}</td>
583583
</tr>
584584
<tr>
585585
<th class="font-normal" scope="row">Model Format</th>
586586
<td>
587587
{% if data.submitted_data.model is defined %}
588-
{{ profiler_dump(data.submitted_data.model) }}
588+
{{ profiler_dump(data.submitted_data.seek('model')) }}
589589
{% else %}
590590
<em class="font-normal text-muted">same as normalized format</em>
591591
{% endif %}
@@ -630,7 +630,7 @@
630630
{% if resolved_option_value == option_value %}
631631
<em class="font-normal text-muted">same as passed value</em>
632632
{% else %}
633-
{{ profiler_dump(data.resolved_options[option]) }}
633+
{{ profiler_dump(data.resolved_options.seek(option)) }}
634634
{% endif %}
635635
</td>
636636
</tr>

0 commit comments

Comments
 (0)
0