Имена соглашений об именах HTML-форм - PullRequest
8 голосов
/ 26 января 2010

В Rails и CakePHP1.2 формы, как правило, включают элементы ввода с именами, подобными следующим:

<input name="comment[author]" />

Есть ли формальное имя для обозначения, используемого в атрибуте "name"?

Аналогично, в CakePHP1.1 я верю, что то же самое выглядело бы так:

<input name="comment/author" />

Опять же, существует ли формальное имя для обозначения, используемого в атрибуте "name"?

Ответы [ 3 ]

4 голосов
/ 27 января 2010

В Rails это называется микроформатом форм (по крайней мере, некоторыми). Множество различных фреймворков, похоже, стандартизируют этот первый формат. Я предполагаю, что CakePHP обновил свои библиотеки, чтобы соответствовать этому стандарту. доступно навязчиво подробное объяснение , которое только отчасти относится к Rails. Оригинальный микроформат, очевидно, исходит от PHP.

1 голос
/ 27 марта 2013

в торт php, схема именования представлена ​​в формате доступа к многомерным массивам, хотя я не совсем уверен, как бы вы это назвали. многомерный массив ключей?

официальные документы php назовите это "обозначение в квадратных скобках"

По сути, я не уверен, что у CakePHP есть определенное имя для этого ... Это потому, что это просто «скобочная нотация» для доступа к массиву с ключами. Вот пример из документа cakephp . Он иллюстрирует именование элементов с помощью скобочной записи в cakephp, и как это используется для предварительного заполнения значений.

используя торт php FormHelper, мы создаем скрытое поле id:

echo $this->Form->hidden('id'):

это выводит следующее:

<!-- data comes from $this->request->data -->
<input name="data[User][id]" id="UserId" type="hidden" />

Если предположить, что значение data[User][id] равно 10, вход с идентификатором UserId будет иметь значение 10.

0 голосов
/ 06 марта 2013

В Rails строковое значение, присвоенное атрибуту name в элементе формы, передается контроллеру в виде хэша внутри хеша params[], проиндексированного по ключу.

<input name="username"/>

Будет отображаться в контроллере как params[:username].

<input name="user[name]"/>

Будет отображаться в контроллере как params[:user][:name].

И так далее. Если вы хотите узнать больше о том, как их генерировать и чего ожидать, обратитесь к документации ActionView и ActionController.

Вот ссылка на обзор ActionController , который является отличным руководством.

...