8

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

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

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

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

<input name="comment/author" /> 

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

+0

Я не думаю, что у него изначально было имя, когда оно возникло на PHP. Это было просто показано как дублирование формата разыменования массива 'a [b]'.С тех пор разыменовался массив разметки PHP, чтобы требовать кавычки ('a ['b']'), потому что это так ужасно неоднозначно в противном случае, но формат 'name' не был обновлен для соответствия. В некоторых других средах используется синтаксис PHP, но есть и столько же, что и для альтернатив (например, 'a.b'). – bobince

+0

Я называю это «пространство имен», так как он формирует массив request-> data с определенными ключами. Именно в этом случае для CakePHP это имеет особое значение для этого. Поэтому нет смысла сравнивать его с другими или сделать этот общий вопрос какой-то ИМО. – mark

ответ

1

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

official php docs вызов его «скобка обозначение»

В принципе, я не уверен, что CakePHP имеет конкретное название для этого ... Это потому, что это просто «скобки обозначения» для шпоночным доступа к массиву.

Here's an example from the cakephp docs. Он иллюстрирует элементы именования с обозначением скобок в 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

Если вы можете указать цитату, зеленый тик будет вашим. –

4

В Rails это называется микроформатом формы (по крайней мере, некоторыми). По-видимому, в этом первом формате стандартизируется множество различных фреймворков. Я бы предположил, что CakePHP обновил свои библиотеки, чтобы соответствовать этому стандарту. Доступно an obsessively in-depth explanation, это только несколько специфичных для Rails. Первоначальный микроформат, по-видимому, поступает из PHP.

0

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

<input name="username"/> 

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

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

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

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

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

+0

Мой вопрос не в том, как интерпретируются имена, а о термине, используемом для описания этого соглашения или формата именования. –

Смежные вопросы