8

In Rails e CakePHP1.2, le forme tendono ad includere elementi di input con nomi come il seguente:nomi delle convenzioni di denominazione modulo HTML

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

C'è un nome formale per la notazione usata nel l'attributo "nome" ?

Allo stesso modo, in CakePHP1.1 credo che lo stesso avrebbe guardato come questo:

<input name="comment/author" /> 

Anche in questo caso, c'è un nome formale per la notazione usata nel campo "Nome" attributo?

+0

Non penso che in origine avesse un nome quando è stato creato in PHP. È stato appena visto come la duplicazione del formato di deferenziazione dell'array in-language 'a [b]'.Da allora, il dereferenziamento dell'array PHP è stato fatto per richiedere virgolette ('a ['b']') perché altrimenti è così orribilmente ambiguo, ma il formato 'nome' non è stato aggiornato per corrispondere. Alcuni altri ambienti hanno adottato la sintassi di PHP, ma ce ne sono altrettanti che sono andati per alternative (ad esempio 'a.b'). – bobince

+0

Lo chiamo "spazio dei nomi", dato che formerà la richiesta-> array di dati con chiavi specifiche. In questo caso, è una cosa specifica per CakePHP in questo modo. Quindi non ha senso paragonarlo agli altri, o rendere questa una domanda generica di qualche tipo IMO. – mark

risposta

1

in cake php, lo schema di denominazione è in formato di accesso ad array multidimensionale, anche se non sono proprio sicuro di come lo chiamereste. key key multidimensionale?

official php docs chiamano "staffa notazione quadrata"

In sostanza, non sono sicuro che cakephp ha un nome specifico per questo ... Questo è perché è semplicemente 'staffa notazione' di accesso agli array con chiave.

Here's an example from the cakephp docs. Illustra gli elementi di denominazione con notazione delle parentesi in cakephp e come questo viene usato per pre-compilare i valori.

usando php cake FormHelper creiamo un campo id nascosto:

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

questo emette il seguente:

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

Supponendo che il valore contenuto data[User][id] è 10, l'ingresso con ID UserId avrà un valore di 10.

+0

Se puoi fornire una citazione, il segno di spunta verde è tuo. –

4

In Rails, questo viene definito come il microformato dei moduli (almeno per alcuni). Un sacco di quadri diversi sembrano essere standardizzati su quel primo formato. Immagino che CakePHP abbia aggiornato le proprie librerie per conformarsi a quello standard. C'è lo an obsessively in-depth explanation disponibile che è solo un po 'specifico per Rails. Il microformato originale apparentemente proviene da PHP.

0

In Rails, il valore di stringa assegnato all'attributo name in un elemento del modulo viene passato a un controller come hash all'interno dell'hash params[], indicizzato per chiave.

<input name="username"/> 

Si visualizzerà nel controller come params[:username].

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

Si visualizzerà nel controller come params[:user][:name].

E così via. Se vuoi saperne di più su come generare questi e cosa aspettarti, consulta la documentazione di ActionView e ActionController.

Ecco un collegamento allo ActionController overview, che è un'ottima guida.

+0

La mia domanda non riguarda il modo in cui i nomi sono interpretati, si tratta del termine usato per descrivere questa convenzione o formato di denominazione. –