2017-09-11 1 views
3

cakephp 3.5.x에서 쿠키를 작동시키는 데 문제가 있습니다.CakePHP 3.5에서 컨트롤러 레벨에서 쿠키를 만드는 방법은 무엇입니까?

이전 버전 쿠키 구성 요소를 사용했지만 더 이상 사용되지 않습니다. 쿠키를 읽고 쓰는 데이 새로운 미들웨어를 사용하는 방법이 명확하지 않습니다.

documentation은 분명하지 않습니다. 쿠키 미들웨어를 설정하는 방법을 알려주지 만 컨트롤러에서 쿠키를 만드는 방법은 다루지 않습니다. 3.5.x에서 쿠키를 처리 한 사람이 있습니까?

답변

5

미들웨어는 Cookie 구성 요소의 암호화 부분 (대체로 CakePHP 3.0에서 기본적으로 한 유일한 것임)을 대체합니다. 필요하다면 구성한 쿠키를 자동으로 암호화하고 해독합니다.

읽거나 쿠키를 작성하는 미들웨어를 사용하지 않는, 즉 CakePHP의 3 이후 기본이되는, 요청과 응답 객체를 통해 이루어집니다

읽기 및 컨트롤러 액션 내에서 쿠키를 작성하는 것은 아니라 할 수있다 간단하게 :

$rememberMe = $this->request->getCookie('remember_me'); 
$this->response = $this->response->withCookie('remember_me', [ 
    'value' => 'yes', 
    'path' => '/', 
    'httpOnly' => true, 
    'secure' => false, 
    'expire' => strtotime('+1 year') 
]); 

도 참조

관련 문제