Allow omitting the @reference annotation for object properties
Currently all properties of type object which are supposed to be persisted need to be annotated as a reference:
/** * Content attached to this structure node * * @var F3::TYPO3::Domain::Model::ContentInterface * @reference */ protected $content;
I'd say that this is counter-intuitive for most developers. Ideally the persistence framework would recognize object properties and assume that they are references:
/** * Content attached to this structure node * * @var F3::TYPO3::Domain::Model::ContentInterface */ protected $content;
If the object should not be persisted, @transient is used (as usual).
#2 Updated by Karsten Dambekalns about 11 years ago
From the CR point of view: If the array is empty it's empty. No need to know the types of the stuff that might be in there. And if there is an object in there, we must treat it like a reference, since objects cannot be store directly in a CR.
The only thing that changes now is: we cannot fetch all reference properties by tag, but instead loop over all properties of a class, checking or the need to process them as reference holders.