Имена соглашений об именовании HTML-форм

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

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

Есть ли официальное имя для нотации, используемой в атрибуте «имя»?

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

<input name="comment/author" />

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


person Richard JP Le Guen    schedule 26.01.2010    source источник
comment
Я не думаю, что у него изначально было имя, когда оно возникло в PHP. Это было просто воспринято как дублирование формата разыменования массива в языке a[b]. С тех пор разыменование массива PHP стало требовать кавычек (a['b']), потому что в противном случае это ужасно двусмысленно, но формат name не был обновлен, чтобы соответствовать. Некоторые другие среды переняли синтаксис PHP, но есть и такие же альтернативы (например, a.b).   -  person bobince    schedule 27.01.2010
comment
Я называю это пространством имен, так как оно формирует массив запрос-›данные с определенными ключами. В данном случае это специфика фреймворка для CakePHP. Так что нет смысла сравнивать его с другими или делать из этого какой-то общий вопрос, ИМО.   -  person mark    schedule 19.01.2015


Ответы (3)


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

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

В принципе, я не уверен, что в cakephp есть специальное имя для этого... Это потому, что это просто "скобочная нотация" для доступа к массиву с ключом.

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

используя Cake 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.

person Todd    schedule 27.03.2013
comment
Если вы можете предоставить цитату, зеленая галочка ваша. - person Richard JP Le Guen; 16.01.2015

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

person Emily    schedule 26.01.2010

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

<input name="username"/>

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

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

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

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

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

person JD.    schedule 05.03.2013
comment
Мой вопрос не о том, как интерпретируются имена, а о термине, используемом для описания этого соглашения об именах или формата. - person Richard JP Le Guen; 16.01.2015