やったこと

webサービスを作るときに考えたことを垂れ流します

【CakePHP3】クッキーが書きこめるけど読み込めない!

CakePHP3でCookieの「書き込み」はできるのに「読み込み」はできない困った事態に出くわしてしまいました。

この原因は簡単なことでした。

Cookieの書き込み時は「$this->Cookie->config()」で設定をセットしていたんですが、読み込みのときにこれを忘れていたせいでした・・。

下記のように書き込み時も読み込み時も「config()」の設定は必要なんですね(よく考えたら当たり前のことですね)

    public function initialize()
    {
      parent::initialize();
      $this->loadComponent('Cookie');
    }

    //クッキー書き込み処理
    public function _set_cookie()
    {
      $this->Cookie->config([
        'domain' => 'hogege.net',
        'key' => 'himitunokagidayo'
      ]);
      $name = "hogetan";
      $this->Cookie->write('name', $name);
    }

    //クッキー読み込み処理
    public function _read_cookie()
    {
      $this->Cookie->config([
        'domain' => 'hogege.net',
        'key' => 'himitunokagidayo'
      ]);
      $name = $this->Cookie->read('name');
      return $name;
    }

普通は「initialize()」とかに書くのでしょうねこういう設定は・・。