/** * Sessionクラスの初期化 * @param string セッションの有効期限 * @param string DBDSN情報 */ protected static function _init($argExpiredtime = NULL, $argDSN = NULL) { if (FALSE === self::$_initialized) { $DSN = NULL; $expiredtime = self::$_expiredtime; if (class_exists('Configure') && NULL !== Configure::constant('DB_DSN')) { // 定義からセッションDBの接続情報を特定 $DSN = Configure::DB_DSN; } if (class_exists('Configure') && NULL !== Configure::constant('SESSION_DB_DSN')) { // 定義からセッションDBの接続情報を特定 $DSN = Configure::DB_DSN; } if (class_exists('Configure') && NULL !== Configure::constant('SESSION_EXPIRED_TIME')) { // 定義からセッションの有効期限を設定 $expiredtime = Configure::SESSION_EXPIRED_TIME; } if (class_exists('Configure') && NULL !== Configure::constant('SESSION_DATA_TBL_NAME')) { // 定義からセッションデータテーブル名を特定 self::$_sessionDataTblName = $ProjectConfigure::SESSION_DATA_TBL_NAME; } if (class_exists('Configure') && NULL !== Configure::constant('SESSION_DATA_TBL_PKEY_NAME')) { // 定義からセッションデータテーブルのPKey名を特定 self::$_sessionDataPKeyName = Configure::SESSION_DATA_TBL_PKEY_NAME; } if (class_exists('Configure') && NULL !== Configure::constant('SERIALIZE_KEY_NAME')) { // 定義からシリアライズデータのフィールド名を特定 self::$_serializeKeyName = Configure::SERIALIZE_KEY_NAME; } if (class_exists('Configure') && NULL !== Configure::constant('SESSION_DATA_DATE_KEY_NAME')) { // 定義から日時フィールド名を特定 self::$_sessionDataDateKeyName = Configure::SESSION_DATA_DATE_KEY_NAME; } if (defined('PROJECT_NAME') && strlen(PROJECT_NAME) > 0 && class_exists(PROJECT_NAME . 'Configure')) { $ProjectConfigure = PROJECT_NAME . 'Configure'; if (NULL !== $ProjectConfigure::constant('DB_DSN')) { // 定義からセッションDBの接続情報を特定 $DSN = $ProjectConfigure::DB_DSN; } if (NULL !== $ProjectConfigure::constant('SESSION_DB_DSN')) { // 定義からセッションDBの接続情報を特定 $DSN = $ProjectConfigure::SESSION_DB_DSN; } if (NULL !== $ProjectConfigure::constant('SESSION_EXPIRED_TIME')) { // 定義からセッションの有効期限を設定 $expiredtime = $ProjectConfigure::SESSION_EXPIRED_TIME; } if (NULL !== $ProjectConfigure::constant('SESSION_DATA_TBL_NAME')) { // 定義からセッションデータテーブル名を特定 self::$_sessionDataTblName = $ProjectConfigure::SESSION_DATA_TBL_NAME; } if (NULL !== $ProjectConfigure::constant('SESSION_DATA_TBL_PKEY_NAME')) { // 定義からセッションデータテーブルのPKey名を特定 self::$_sessionDataPKeyName = $ProjectConfigure::SESSION_DATA_TBL_PKEY_NAME; } if (NULL !== $ProjectConfigure::constant('SERIALIZE_KEY_NAME')) { // 定義からuserTable名を特定 self::$_serializeKeyName = $ProjectConfigure::SERIALIZE_KEY_NAME; } if (NULL !== $ProjectConfigure::constant('SESSION_DATA_DATE_KEY_NAME')) { // 定義から日時フィールド名を特定 self::$_sessionDataDateKeyName = $ProjectConfigure::SESSION_DATA_DATE_KEY_NAME; } } // DBOを初期化 if (NULL === self::$_DBO) { if (NULL !== $argDSN) { // セッションDBの接続情報を直指定 $DSN = $argDSN; } self::$_DBO = DBO::sharedInstance($DSN); } // セッションの有効期限を設定 if (NULL !== $argExpiredtime) { // セッションの有効期限を直指定 $expiredtime = $argExpiredtime; } self::$_expiredtime = $expiredtime; // 初期化済み self::$_initialized = TRUE; } }