2009-04-27 8 views
1

cakephp는 get 요청을 어떻게 처리합니까? 예를 들어, 다음과 같은 요청을 처리하는 방법은 무엇입니까? http://us.mc01g.mail.yahoo.com/mc/welcome?.gx=1&.rand=9553121_pg=showFolder&fid=Inbox&order=down&tt=1732&pSize=20&.rand=425311406&.jsrand=3cakephp 및 get 요청

"mc"가 컨트롤러가되고 "환영"이 동작입니까? 나머지 정보는 어떻게 처리됩니까?

+0

그래서 params [ 'named']와 passedArgs [ 'key1']의 차이점은 무엇입니까? –

답변

6

또한 Cake 1.2에서 명명 된 매개 변수를 사용할 수 있습니다. 명명 된 매개 변수는 key : value 순서에 있으므로 url http://somesite.com/controller/action/key1:value1/key2:value2은 모든 컨트롤러 내에서 aa $ this-> params [ 'named'] 배열 ('key1'=> 'value1', 'key2'=> 'value2')을 제공합니다. .

CNN.com 스타일의 GET 요청 (http://www.cnn.com/2009/SHOWBIZ/books/04/27/ayn.rand.atlas.shrugged/index.html)을 사용하는 경우 매개 변수는 $ this-> params [ 'pass'] 배열의 색인 된 순서 (2009 년, SHOWBIZ, 도서 등)

나중에 매개 변수를 전달하여 지형지 물을 추가 할 수 있으므로 명명 된 매개 변수를 사용하는 것이 좋습니다. 순서를 걱정할 필요가 없습니다. 명명 된 매개 변수 분리 키 (기본적으로 ':')도 변경할 수 있다고 생각합니다.

그래서 "전통적인"GET 매개 변수 (page.php? key1 = value1 & key2 = value2)보다 약간 다른 패러다임이 있습니다. 그러나 응용 프로그램에 논리를 쉽게 추가하면 응용 프로그램에서 요청을 구문 분석하는 방법을 통해 기존 매개 변수를 자동으로 배열로 구문 분석 할 수 있습니다.

2

CakePHP는 이것을 결정하기 위해 경로를 사용합니다. 기본적으로 경로는 설명대로 작동합니다. 나머지는 '?' 는 쿼리 문자열이며 컨트롤러의 $this->params['url']에서 찾을 수 있으며 연관 배열로 구문 분석됩니다.

0

실제로는 일반적인 것을 사용하지 않습니다.

긴 미친 문자열이 전달 된 경우 아무 것도 발생하지 않습니다. 이 형식의 데이터는 다음과 같습니다. site.com/controller/action/var1/var2/var ....

0

누군가가 정답을 명확히 할 수 있습니까? spoulson과 SeanDowney의 진술이 서로 모순 된 것처럼 보입니다. 이 할 수있는뿐만 아니라

http://www.domain.com/index.php/oauth/authorize?oauth_version=1.0&oauth_nonce=c255c8fdd41bd3096e0c3bf0172b7b5a&oauth_timestamp=1249169700&oauth_consumer_key=8a001709e6552888230f88013f23d5d004a7445d0&oauth_signature_method=HMAC-SHA1&oauth_signature=0bj5O1M67vCuvpbkXsh7CqMOzD0%3D

OAuth를 컨트롤러 인 및 방법있는 권한을 부여 :

사람은 일을 CakePHP의 최신 버전을 사용하고 다음 URL을 얻을 수 있을까 마지막에 GET 요청을 수락 하시겠습니까?

1

조금 오래되었지만 검색하는 동안 발견했습니다.

$this->params['url'] 

에는 GET 정보가 들어 있습니다.

테스트를 마쳤지 만 작동합니다. 그것에 대한 Cakephp 책의 페이지는 'url' 섹션 아래 있습니다. 그것은 원래의 질문에있는 것과 매우 유사한 예제를 제공합니다. 이것은 또한 내가 실행중인 CakePHP 1.3에서도 작동합니다.