Skip to content

Commit

Permalink
bug #25200 [HttpKernel] Arrays with scalar values passed to ESI fragm…
Browse files Browse the repository at this point in the history
…ent renderer throw deprecation notice (Simperfit)

This PR was merged into the 3.3 branch.

Discussion
----------

[HttpKernel] Arrays with scalar values passed to ESI fragment renderer throw deprecation notice

| Q             | A
| ------------- | ---
| Branch?       | 3.3
| Bug fix?      | yes
| New feature?  | no <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks?    | no
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md files -->
| Tests pass?   | yes
| Fixed tickets | #25191
| License       | MIT
| Doc PR        | none

Coding in the train to Paris !

![img_2832](https://user-images.githubusercontent.com/3451634/33361971-8aa17a70-d4da-11e7-90a0-b2f08a60d0e6.JPG)

Commits
-------

d84b47f [HttpKernel] Arrays with scalar values passed to ESI fragment renderer throw deprecation notice
  • Loading branch information
nicolas-grekas committed Nov 30, 2017
2 parents 8950aad + d84b47f commit 26fb4c7
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 3 deletions.
Expand Up @@ -98,8 +98,8 @@ private function generateSignedFragmentUri($uri, Request $request)
private function containsNonScalars(array $values)
{
foreach ($values as $value) {
if (is_array($value) && $this->containsNonScalars($value)) {
return true;
if (is_array($value)) {
return $this->containsNonScalars($value);
} elseif (!is_scalar($value) && null !== $value) {
return true;
}
Expand Down
Expand Up @@ -34,7 +34,15 @@ public function testRenderFallbackWithObjectAttributesIsDeprecated()
{
$strategy = new EsiFragmentRenderer(new Esi(), $this->getInlineStrategy(true), new UriSigner('foo'));
$request = Request::create('/');
$reference = new ControllerReference('main_controller', array('foo' => array('a' => array(), 'b' => new \stdClass())), array());
$reference = new ControllerReference('main_controller', array('foo' => new \stdClass()), array());
$strategy->render($reference, $request);
}

public function testRenderFallbackWithScalarIsNotDeprecated()
{
$strategy = new EsiFragmentRenderer(new Esi(), $this->getInlineStrategy(true), new UriSigner('foo'));
$request = Request::create('/');
$reference = new ControllerReference('main_controller', array('foo' => array(true)), array());
$strategy->render($reference, $request);
}

Expand Down

0 comments on commit 26fb4c7

Please sign in to comment.