[BUGFIX] Fix the return type annotations of JsonView 99/56499/3
authorOliver Klee <typo3-coding@oliverklee.de>
Sat, 31 Mar 2018 18:41:34 +0000 (20:41 +0200)
committerFrank Naegler <frank.naegler@typo3.org>
Wed, 4 Apr 2018 15:10:52 +0000 (17:10 +0200)
transformValue will return the argument (mixed) untransformed if it is no
array or object and thus needs to return mixed as well.

transformObject will return a string for DateTime and hence needs to have
string as an additional return type.

Resolves: #84570
Releases: master, 8.7
Change-Id: I4d73f060eebb20b6f521fa685eca99acb688c702
Reviewed-on: https://review.typo3.org/56499
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Daniel Goerz <ervaude@gmail.com>
Tested-by: Daniel Goerz <ervaude@gmail.com>
Reviewed-by: Stefan Neufeind <typo3.neufeind@speedpartner.de>
Reviewed-by: Frank Naegler <frank.naegler@typo3.org>
Tested-by: Frank Naegler <frank.naegler@typo3.org>
typo3/sysext/extbase/Classes/Mvc/View/JsonView.php

index 1d8005c..20fa7a5 100644 (file)
@@ -236,7 +236,7 @@ class JsonView extends AbstractView
      * Loads the configuration and transforms the value to a serializable
      * array.
      *
-     * @return array An array containing the values, ready to be JSON encoded
+     * @return mixed
      * @api
      */
     protected function renderArray()
@@ -261,7 +261,7 @@ class JsonView extends AbstractView
      *
      * @param mixed $value The value to transform
      * @param array $configuration Configuration for transforming the value
-     * @return array The transformed value
+     * @return mixed The transformed value
      */
     protected function transformValue($value, array $configuration)
     {
@@ -294,7 +294,7 @@ class JsonView extends AbstractView
      *
      * @param object $object Object to traverse
      * @param array $configuration Configuration for transforming the given object or NULL
-     * @return array Object structure as an array
+     * @return array|string Object structure as an array or as a rendered string (for a DateTime instance)
      */
     protected function transformObject($object, array $configuration)
     {