[Flow] Persisting objects that are not Models

Christian Loock chl at vkf-renzel.de
Wed Sep 4 16:47:14 CEST 2013


Hi,

I allready got so far and started to write a type converter. However, it 
seems like that my Property doesnt even be recognized by the class schema.

The reason behind this, that only Entities and Value Objects, or Object 
Types that are on a White List seam to be considered by the reflection 
service.

Here is the part in the ReflectionService that I mean:

protected function 
addPropertiesToClassSchema(\TYPO3\Flow\Reflection\ClassSchema 
$classSchema) {

             // those are added as property even if not tagged with 
entity/valueobject
         $propertyTypeWhiteList = array(
             'DateTime',
             'SplObjectStorage',
             'Doctrine\Common\Collections\Collection',
             'Doctrine\Common\Collections\ArrayCollection'
         );

This Whitelist is static and doesnt seem to be expandable. Which means I 
would need to declare my Object to be an Entity (which makes no Sense 
for DateIntervals) or an ValueObject (which doesnt work and I dont 
understand their purpose).

This imho is really bad. Doctrine doesnt really care what type your 
fields have. You can specify a Type Object or Array and it will store 
everything. Even though i dont know why you need a whitelist at this 
point, I think havin it static in there is just bad design. It would 
have been way better to make it configurable. This way there seems to be 
no possibility to extend this functionality.

Am 04.09.2013 16:30, schrieb Pankaj Lele:
> Hi Christian,
>
>> I wonder if there is a way to add support to persisting Objects as 
>> field Values, like it works with the \DateTime Class. I would like to 
>> store \DateInterval Objects in a field.
>>
>> DateTime Objects are converted into a timestamp and i wonder where 
>> this conversion takes place and if it is possible to implement 
>> something like this for my flow packages.
>
> This conversion is handled by the TypeConverters of Flow here you can 
> find the required help [1]
>
> And for example you can have look at 
> TYPO3\Flow\Property\TypeConverter\DateTimeConverter
>
> [1] 
> http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/PropertyMapping.html#writing-your-own-typeconverters 
>
>
>
> -Pankaj
>



More information about the Flow mailing list