[TYPO3-mvc] A plan for the future of Models in our favorite MVC

Tim Schoch | GSTALTIG tim.schoch at gstaltig.ch
Tue Jan 17 10:47:34 CET 2012


Hi Claus

Very interesting concept. +1 for:
1. the general concept of annotations and code generation
2. that all the TCA stuff can be defined in the class comment
3. File Handling!


Some Questions that come to my mind:
1. Speed: Extbase is already slow as *!@*#, doesn't this add a lot of overhead and thus rendering time?

2. I don't get the concept why/how the attribute definition is spread over several annotations -> @Magic\Field, @Magic\Database, @Magic\Column, @Magic\OneToMany, @Magic\Inline etc and their respective options.
For me it feels like these would belong together logically? Idk doctrine or the FLOW3 annotations yet - are these annotations taken from there?
It would be nice if these would be the same as in FLOW3 and not so TYPO3 4.x logic style. (I hope you understand what I'm trying to say) 

Or if it follows its own logic, I would find it better to simply have a Field and a Render annotation. Some Examples:
// provider="Tx_Magic_Provider_Column_InlineProvider" is default for   OneToMany Fields, foreign should be given the Class, not the table
@Magic\Field( type="oneToMany", dynamic="TRUE", foreign="Tx_Fedexample_Domain_Model_FoodItem", foreignField="refrigerator" )
 // Field Type relation is default for OneToMany Fields
@Magic\Render( maxItems="1000" )
or
 // provider="Tx_Magic_Provider_Column_FluidTemplateProvider" is default if @Magic\Render has a partial option
@Magic\Field( type="int", size="11",  dynamic="TRUE" )
@Magic\Render( type="date", partial="EXT:someotherext/Backend/AdvancedDatePicker" )

( Thinking of it, does the provieder not belong to the Render annotation anyway? Probably to early to go into details like this... )

3. I for my part think the Context feature is a nice to have. I don't care to flush the cache after I make changes to the code. For Plugin creation I have to do this anyway. Don't get me wrong, if its in, it would be great, but I'd rather put the energy into the annotation and Extension Builder compatibility.

Tim

Ps: nice redesign for fedext ;)


More information about the TYPO3-project-typo3v4mvc mailing list