8

이 양식은 다음과 같은 이름을 가진 입력 요소를 포함하는 경향이 ?이름은 레일 및 CakePHP1.2에서

마찬가지로, CakePHP1.1에 나는 같은이 모습했을 것이라고 믿는다 :

<input name="comment/author" /> 

을 다시, "이름"에 사용 된 표기법에 대한 공식적인 이름이 속성?

+0

PHP로 작성된 원래 이름이 없다고 생각합니다. 이것은 방금 언어로 된 배열 역 참조 형식'a [b]를 복제하는 것으로 보았습니다.그 이후 PHP 배열의 역 참조는 따옴표 ('a [ 'b']')를 요구하기 때문에 만들어졌다. 왜냐하면 그렇게 끔찍하게 모호하기 때문에'name' 형식이 일치하도록 업데이트되지 않았기 때문이다. 일부 다른 환경에서는 PHP의 구문을 채택했지만 대체로 많은 대안이 있습니다 (예 :'a.b'). – bobince

+0

특정 키가있는 요청 -> 데이터 배열을 형성하므로 "네임 스페이스"라고 부릅니다. 이 경우, CakePHP가 이런 식으로 할 수있는 프레임 워크 특정 것입니다. 그래서 그것을 다른 사람들과 비교하거나 어떤 종류의 IMO에 대한 일반적인 질문으로 삼을 필요가 없습니다. – mark

답변

1

케이크 PHP에서, 네이밍 스키마는 다차원 배열 액세스 형식입니다. 다차원 배열 키?

official php docs 전화를 "대괄호 표기법"기본적으로

, 내가 CakePHP는이에 대한 특정 이름을 가지고 있지 확신 ... 그것은 키 입력 배열 액세스를위한 '브래킷 표기법은'단순히 때문이다.

Here's an example from the cakephp docs. cakephp에 괄호 표기법이있는 이름 짓기 요소와이 값을 사용하여 값을 미리 채우는 방법을 보여줍니다. 우리는 숨겨진 ID 필드를 생성 FormHelper

하여 케이크 PHP는 : data[User][id]에 유지 된 값 10,의 ID와 함께 입력되는 것을 가정

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

:

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

이는 다음 출력 UserId은 10의 값을 갖습니다.

+0

인용문을 제공 할 수 있다면 녹색 진드기가 당신 것입니다. –

4

레일스에서는 이것을 폼 마이크로 포맷이라고합니다 (적어도 일부는 그렇습니다). 여러 프레임 워크가 첫 번째 형식을 표준화하는 것처럼 보입니다. 나는 CakePHP가 표준을 따르기 위해 그들의 라이브러리를 업데이트했다고 생각한다. 유효한 레일스에만 해당하는 an obsessively in-depth explanation이 있습니다. 원래의 microformat은 PHP에서 온 것 같습니다.

0

레일스에서 ​​양식 요소의 name 속성에 할당 된 문자열 값은 키로 인덱싱 된 params[] 해시 내부의 해시로 컨트롤러에 전달됩니다.

<input name="username"/> 

컨트롤러에 params[:username]으로 표시됩니다.

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

컨트롤러에 params[:user][:name]으로 표시됩니다.

등등. 이러한 생성 방법 및 예상되는 내용에 대한 자세한 내용은 ActionView 및 ActionController 설명서를 참조하십시오.

여기는 ActionController overview에 대한 링크입니다.이 가이드는 훌륭한 가이드입니다.

+0

제 질문은 이름이 어떻게 해석되는지에 관한 것이 아니라이 명명 규칙 또는 형식을 설명하는 데 사용되는 용어와 관련이 있습니다. –