[TYPO3-mvc] URIBuilder rewrite

Steffen Kamper info at sk-typo3.de
Wed Aug 12 09:44:53 CEST 2009


Hi Robert,

Robert Lemke schrieb:
> Moin Bastian,
> 
> Am 11.08.2009 um 17:08 schrieb Bastian Waidelich:
> 
> To create general links, you'd have
>>
>> $uriBuilder
>>     ->setTargetPageUid(123)
>>     ->setArguments(array('tt_news' => array('article' => 321))
>>     ->render()
> 
> looks fine (the rest as well), just one thought: as Steffen already 
> stumbled upon,
> there's a little weirdness concerning that uriBuilder would be prototype 
> or singleton.
> 
> In general I would assume that a builder is singleton and that the build 
> method is
> called build() and not render.
> 
> On the other hand I would also assume that build methods are stateless 
> and behave the
> same every time I would call them - which is of course not the case 
> because the builder
> always still contains the options from previous runs.
> 
> So, we can
> 
>   1) ignore this bad feeling, make the UriBuilder a singleton and 
> provide your proposed
>      setters
>   2) make UriBuilder a prototype to avoid unintended misconfiguration 
> and accept the overhead
>      of creating a new instance everytime we create a link (sounds slow 
> huh?)
>   3) make UriBuilder a singleton and a) provide a kind of reset method 
> or b) even let the builder reset
>      all options automatically after calling build()
>   4) ...
> 
> Maybe 3b)?
> 
> robert
> 

i think 3b) would be a good option, but give an option to prevent reset 
like build(FALSE) for bulk actions.

vg Steffen


More information about the TYPO3-project-typo3v4mvc mailing list