Hi,
my team and I are developing an application based on the latest Flow version and we are encountering a strange behaviour (at least as we think of it ).
We are trying to convert an object, of a custom class, to an array through the propertyMapper and as result we obtain an array, correctly, where those starting object properties, that are objects too, are represented in the original object form and also in a indexed array form, though. For example:
Starting Object:
[OBJECT\NAMESPACE\1]
propertyMapper => TYPO3\Flow\Property\PropertyMapper
id => ‘b4fbdcae-ced4-4006-98cc-789f756db505’ (36)
title => [OBJECT\NAMESPACE\2]
type => ‘array’ (5)
validity => TRUE
default => NULL
data => array(2)
‘default’ (7) => ‘default: szdfg’ (14)
description => [OBJECT\NAMESPACE\2]
type => ‘array’ (5)
validity => TRUE
default => NULL
data => array(2)
‘default’ (7) => ‘default: vgb’ (12)
sku => ‘fcgvhb’ (6)
status => [OBJECT\NAMESPACE\2]
type => ‘array’ (5)
validity => TRUE
default => NULL
data => array(2)
‘default’ (7) => ‘default: 0’ (10)
Flow_Injected_Properties => array(1)
integer 0 => ‘propertyMapper’ (14)
Resulting Array:
array(9)
‘description’ (11) => [OBJECT\NAMESPACE\2]
type => ‘array’ (5)
validity => TRUE
default => NULL
data => array(2)
‘default’ (7) => ‘default: vgb’ (12)
‘id’ (2) => ‘b4fbdcae-ced4-4006-98cc-789f756db505’ (36)
‘sku’ (3) => ‘fcgvhb’ (6)
‘status’ (6) => [OBJECT\NAMESPACE\2]
type => ‘array’ (5)
validity => TRUE
default => NULL
data => array(2)
‘default’ (7) => ‘default: 0’ (10)
‘title’ (5) => [OBJECT\NAMESPACE\2]
type => ‘array’ (5)
validity => TRUE
default => NULL
data => array(2)
‘default’ (7) => ‘default: szdfg’ (14)
integer 0 => array(5)
‘data’ (4) => array(2)
‘default’ (7) => ‘default: vgb’ (12)
‘default’ (7) => array(empty)
‘type’ (4) => ‘array’ (5)
‘validity’ (8) => TRUE
’__type’ (6) => ‘OBJECT\NAMESPACE\2’ (37)
integer 1 => array(5)
‘data’ (4) => array(2)
‘default’ (7) => ‘default: 0’ (10)
‘default’ (7) => array(empty)
‘type’ (4) => ‘array’ (5)
‘validity’ (8) => TRUE
’__type’ (6) => ‘OBJECT\NAMESPACE\2’ (37)
integer 2 => array(5)
‘data’ (4) => array(2)
‘default’ (7) => ‘default: szdfg’ (14)
‘default’ (7) => array(empty)
‘type’ (4) => ‘array’ (5)
‘validity’ (8) => TRUE
’__type’ (6) => ‘OBJECT\NAMESPACE\2’ (37)
’__type’ (6) => ‘OBJECT\NAMESPACE\1’ (35)
If see the properties title, status and description that start as objects get kept as object and converted into indexed arrays 0,1,2 in the resulting array.
Is there a way to avoid this replication? Are we missing something?
Thanks,
Nicola