2011-09-25 5 views
-1

나는 kohana의 HMVC 구조 아래에서 쿠키를 다루는 프로그램을 만들고 있는데, 나는 Kohana가 쿠키를 얻거나 설정하는 3 가지 방법을 가지고 있음을 발견했다. 그들은 Kohana의 요청 쿠키(), 응답 쿠키() 및 쿠키 클래스의 차이점은 무엇입니까?

Request::current()->cookie()

, Response->cookie()을, 그리고 쿠키 클래스 ( Cookie::set(), get())

그리고 PHP도 쿠키를 처리하는 기본 setcookie() 기능과 $_COOKIE 있습니다.

아무도 그들의 차이점을 설명 할 수 없으며 각각 사용해야하는 상황은 무엇입니까?

답변

0

Request::cookie() 같은 개체에 대한 호출은 나머지 요청과 함께 보낼 쿠키를 설정하는 데 사용됩니다 (또는 초기 요청의 경우 전송되었습니다). Request::execute() 동안 Request::cookie()$_COOKIE을 대체합니다.

Response::cookie() (Request::execute())은 setcookie()을 대체합니다. Request::execute() 이후에 Response::cookie()을 사용하면 서버에서 다시 설정된 쿠키를 가져올 수 있습니다.

쿠키 도우미는 쿠키에 서명하고 HTTP_Header가 초기 요청 개체 (index.php에있는 Response::send_headers() 참조)의 응답 개체로 설정된 쿠키를 설정하는 데 사용됩니다. HMVC를 안전하게 코딩하려는 경우에는 직접 사용하지 않는 것이 좋습니다.

+0

각각에 대해 어떤 순결성이 있습니까? 요청에서 여러 메소드와 하위 요청을 순서대로 실행하고 일부 메소드/하위 요청이 "CommonKey"쿠키를 업데이트하여 질문에서 언급 한 다른 접근 방식을 사용한다고 가정하면 결국 어떤 접근 방식이 효과적일까요? – LazNiko