Sto lavorando a un'implementazione di un decoder webform e sto cercando di supportare il pattern nested webform utilizzato da PHP e Ruby / Rails (probabilmente tra gli altri).
PHP: parse_str()
; Ruby: Rack::Utils.parse_nested_query()
Ho notato alcune incongruenze, ad esempio (il comportamento è lo stesso in entrambe le lingue):
foo=One&foo=Two
=> {'foo':'Two'}
foo[][bar]=One&foo[][bar]=Two
=> {"foo":[{"bar":"One"},{"bar":"Two"}]}
Qui le chiavi identiche vengono scartate se al livello più alto, ma rispettate se esistono più in basso.
La logica di questo progetto è documentata ovunque? L'approccio Ruby / Rails era basato sul design PHP (o vice-verca)?