/** * セッションに指定のキー名で指定のデータをしまう * セッションが初期化されていなければ初期化する * @param string キー名 * @param mixed 変数全て(PHPオブジェクトは保存出来ない!) */ public static function set($argKey, $argment) { static $replaced = FALSE; if (FALSE === self::$_initialized) { // 自動セッションスタート self::_init(); } // トークンの初期化 if (FALSE === self::$_tokenInitialized && FALSE === self::_initializeToken()) { // エラー throw new Exception(__CLASS__ . PATH_SEPARATOR . __METHOD__ . PATH_SEPARATOR . __LINE__ . PATH_SEPARATOR . Utilities::getBacktraceExceptionLine()); } if (FALSE === $replaced) { // Cookieの書き換えがまだなら書き換える self::setTokenToCookie(self::$_tokenKeyName); // 2度はヘッダ出力しない為に処理終了を取っておく $replaced = TRUE; } // XXX 標準ではセッションデータのPKeyはセッションの固有識別子 return parent::set(self::$_identifier, $argKey, $argment); }