Многомерный и ассоциативный массив (хеш) через POST в Perl / Catalyst - PullRequest
2 голосов
/ 02 августа 2011

В PHP я бы сделал это, чтобы получить «точки» в виде многомерного массива.

<input type"text" name="points[0][1]" />
<input type"text" name="points[0][2]" />
<input type"text" name="points[1][1]" />
<input type"text" name="points[2][2]" />

Или, если бы я хотел получить 'точку' как ассоциативный массив:

<input type"text" name="point[x_axis]" />
<input type"text" name="point[y_axis]" />

Что эквивалентно Catalyst / Perl для таких вещей? Как я могу получить их через $ c-> req-> params ??

1 Ответ

6 голосов
/ 02 августа 2011

Это не предусмотрено "из коробки" - Catalyst не выполняет сопоставление имен параметров и отображает значения либо в скаляры, если они появляются один раз, либо в массив-ссылки, если они появляются несколько раз.Однако есть черта запроса, которую вы можете применить, Catalyst :: TraitFor :: Request :: Params :: Hashed , которая добавляет hashed_params, hashed_query_params и hashed_body_params методы к $c->request, которые ведут себя вв значительной степени так, как вы хотите.

...