[ ZendFramework1 ] Cookie の設定と取得 ( getCookie )

Pocket

ここでは、今は亡き Zend Framework1 で Cookie の設定と取得を行うサンプルスクリプトを掲載しています。

お亡くなりになったのは、Zend Framework1 で構築した私が関わったサイトです。悪しからず。

スポンサーリンク

Cookie の設定と取得

次のサンプルコードは、アクションコントローラ内で Cookie 値の取得を行っていますが、リクエストオブジェクトが取得可能であればどこでも利用でき来ます。

class IndexController extends Zend_Controller_Action
{
    public function indexAction()
    {
        // cookie から最終アクセス時間を取得する
        $tm = $this->getRequest()->getCookie('LAST_ACCESS_TIME', null);
        if($tm === null) {
            echo 'first access';
        } else {
            echo $tm;
        }

        // 最終アクセス時間を cookie に設定する(30秒間の有効期限を設定する)
        setcookie("LAST_ACCESS_TIME", time(), time() + 30);
    }
}

上記のサンプルコードを実行させた場合、初回アクセス時には first access とブラウザで表示されます。リロード(F5)を繰り返すと最終アクセス日時が更新され表示されるようになります。なお、Cookie には30秒の有効期限を設定しているため、リロードを30秒間やめて再度ページを表示させると再び first access と表示されます。もちろん Cookie なので30秒以内であればブラウザが閉じられても値は保持されています。

参考
スポンサーリンク


Pocket

Leave a Comment

Your email address will not be published. Required fields are marked *