【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()」とかに書くのでしょうねこういう設定は・・。