/** * セッションデータデーブルからデータを取得し復元する * @param string セッションデータのプライマリーキー */ protected static function _initializeData($argPKey) { if (NULL === self::$_sessionData) { $binds = array(self::$_sessionDataPKeyName => $argPKey, 'expierddate' => Utilities::modifyDate('-' . (string) self::$_expiredtime . 'sec', 'Y-m-d H:i:s', NULL, NULL, 'GMT')); $Session = ORMapper::getModel(self::$_DBO, self::$_sessionDataTblName, '`' . self::$_sessionDataPKeyName . '` = :' . self::$_sessionDataPKeyName . ' AND `' . self::$_sessionDataDateKeyName . '` >= :expierddate ORDER BY `' . self::$_sessionDataDateKeyName . '` DESC limit 1', $binds); if (strlen($Session->{self::$_sessionDataPKeyName}) > 0) { self::$_sessionData = json_decode($Session->{self::$_serializeKeyName}, TRUE); } else { // 配列に初期化 self::$_sessionData = array(); } } return TRUE; }