CakePHP 3.5 Написание и чтение Cookie
Прежде всего, я попробовал эти два решения, представленные в этих двух ссылках
Как установить и получить Cookies в Cakephp 3.5
Как создать куки на уровне контроллера в CakePHP 3.5?
Но это просто не работает как-то. Я привел пример того, как я пытался писать и читать cookie. Но никто из них не работает.
Написать печенье
use Cake\Http\Cookie\CookieCollection;
use Cake\Http\Cookie\Cookie;
public function writeCookie() {
$cookie = new Cookie(
'remember_me', // name
1, // value
(Time::now())->modify('+1 year'), // expiration time, if applicable
'/', // path, if applicable
'', // domain, if applicable
false, // secure only?
true // http only ?
);
$cookies = new CookieCollection([$cookie]);//To create new collection
$cookies = $cookies->add($cookie);//to add in existing collection
$this->response = $this->response->withCookie('remember_me', [
'value' => 'yes',
'path' => '/',
'httpOnly' => true,
'secure' => false,
'expire' => strtotime('+1 year')
]);
}
Читать Cookie
public function readCookie(){
$cookie = $this->request->getCookie('remember_me');
debug($cookie); //is getting a null value
}
Может кто-нибудь указать мне правильное направление, чтобы написать и прочитать cookie в CakePHP 3.5?
1 ответ
Проблема в том, что вы пишете куки неправильно. Вы должны написать $cookie после добавления в коллекцию Cookie. проверьте код ниже.
Написать печенье
$cookie = new Cookie('remember_me',
1,
(Time::now())->modify('+1 year'),
'/', // path, if applicable
'', // domain, if applicable
false, // secure only?
true // http only ?
);
$cookies = new CookieCollection([$cookie]);
$this->response = $this->response->withCookie($cookie);