CakePHP 3.5 Запись и чтение файлов cookie - PullRequest
0 голосов
/ 01 июня 2018

Прежде всего, я попробовал эти два решения, представленные в этих двух ссылках

Как установить и получить Cookies в Cakephp 3.5

Каксоздавать файлы cookie на уровне контроллера в CakePHP 3.5?

Но это просто не работает.Я привел пример того, как я пытался писать и читать cookie.Но никто из них не работает.

Запись 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')
        ]);
    }

Read Cookie

public function readCookie(){
       $cookie = $this->request->getCookie('remember_me');
       debug($cookie); //is getting a null value
}

Может ли кто-нибудь указать мне правильное направление для записии читать cookie в CakePHP 3.5?

1 Ответ

0 голосов
/ 18 сентября 2018

Проблема в том, что вы пишете куки неправильно.Вы должны написать $ cookie после добавления в коллекцию 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);
...