8

En Rails y CakePHP1.2, las formas tienden a incluir elementos de entrada con nombres como los siguientes:Nombres de las convenciones de nomenclatura formulario HTML

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

¿Hay un nombre formal de la notación utilizada en el atributo "nombre" ?

Asimismo, en CakePHP1.1 yo creo que el mismo habría tenido este aspecto:

<input name="comment/author" /> 

Una vez más, hay un nombre formal de la notación utilizada en el atributo "name"?

+0

No creo que originalmente tenía un nombre cuando se originó en PHP. Se acaba de ver como una duplicación del formato de eliminación de referencia de matriz en lenguaje 'a [b]'.Desde entonces, la eliminación de referencia del conjunto de PHP se ha realizado para requerir comillas ('a ['b']') porque de lo contrario es terriblemente ambigua, pero el formato 'name' no se ha actualizado para que coincida. Algunos otros entornos han adoptado la sintaxis de PHP, pero hay tantos que han optado por alternativas (por ejemplo, 'a.b'). – bobince

+0

Lo llamo "espacio de nombre", ya que formará el conjunto de solicitud-> datos con claves específicas. Es, en este caso, algo específico del framework para que CakePHP lo haga de esta manera. Entonces no tiene sentido compararlo con otros, o hacer de esto una pregunta genérica de algún tipo de OMI. – mark

Respuesta

1

en cake php, el esquema de nombres está en formato de acceso de matriz multidimensional, aunque no estoy muy seguro de cómo llamaría eso. ¿Keying de matriz multidimensional?

official php docs lo llaman "notación de corchetes"

Básicamente, no estoy seguro de que CakePHP tiene un nombre específico para esto ... Esto es debido a que es simplemente 'soporte de notación' de acceso a conjunto con llave.

Here's an example from the cakephp docs. Ilustra los nombres de los elementos con notación de corchetes en cakephp, y cómo esto se usa para rellenar previamente los valores.

usando php torta FormHelper creamos un campo id oculto:

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

este emite la siguiente:

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

Suponiendo que el valor mantenido por data[User][id] es 10, la entrada con un ID de UserId tendrá un valor de 10.

+0

Si puede proporcionar una citación, la marca verde es suya. –

4

En Rails, esto se conoce como el microformato de formularios (al menos por algunos). Muchos marcos diferentes parecen estandarizarse en ese primer formato. Me imagino que CakePHP ha actualizado sus bibliotecas para cumplir con ese estándar. Hay an obsessively in-depth explanation disponibles que son solo un poco específicos de Rails. El microformato original aparentemente proviene de PHP.

0

En Rails, el valor de cadena asignado al atributo name en un elemento de formulario se pasa a un controlador como un hash dentro del hash params[], indexado por clave.

<input name="username"/> 

Aparecerá en el controlador como params[:username].

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

Aparecerá en el controlador como params[:user][:name].

Y así sucesivamente. Si desea leer más sobre cómo generar estos y qué esperar, consulte la documentación de ActionView y ActionController.

Aquí hay un enlace al ActionController overview, que es una gran guía.

+0

Mi pregunta no es sobre cómo se interpretan los nombres, sino sobre el término utilizado para describir esta convención o formato de nombres. –

Cuestiones relacionadas