pure.session
[ class tree: pure.session ] [ index: pure.session ] [ all elements ]

Class: SESSION

Source Location: /package/pure/session/SESSION.inc

Class Overview

PURE_Class
   |
   --SESSION

統一されたセッション管理機構を提供するクラスです。


Constants

Methods



Class Details

[line 74]
統一されたセッション管理機構を提供するクラスです。

Ag:PURE標準のセッション管理はPHP標準のセッション管理を隠蔽しつつ機能拡張します。 PHP標準のセッション管理ではなくAg:PURE標準のセッション管理を利用することで以下の機能を利用することが出来ます。

  1. 自動的なセッションの開始
  2. サブセッションID単位で独立したサブセッション Ag:PUREではセッション内部にサブセッションIDをキーとしたサブセッションを保持します。 これにより同一セッション空間内でフォーム毎にユニークなIDを保持することで、同じ画面を複数同時に開いてもセッション破壊が起こらないように実装することが出来ます。 開発者は新しいフォームを開く必要がある場合にcreateSubSessionメソッドを呼び出して新しいサブセッションを開始して下さい。 現在アクティブになっているサブセッションを取得する場合にはgetSubSessionメソッドを呼び出して下さい。
  3. サブセッションID単位で独立したサブセッションにアクセスするSubSessionクラス サブセッションを管理するサブセッションIDは更に隠蔽されます。 サブセッションへのアクセスはSubSessionクラスにより統一的に行うことが出来ます。 サブセッションへアクセスするには現在アクティブなサブセッションを取得するgetSubSessionメソッドを利用します。
サブセッションIDは通常、フォームを新規に作成した際に新しく作成され、そのフォームが機能している間は更新されません。 通常この処理は空のフォームが生成される際にはcreateSubSessionメソッド、フォームからのリクエストを処理する際にはgetSubSessionメソッドを利用することで実現されます。 なお、セッション自体はPHP標準のセッション管理により維持されますが、サブセッションIDはフォームに隠しフォームとして定義する必要があります。 隠しフォームは以下のように作成します。

 

この時、フォーム名のsub_session_idは予約されています。 これはSESSION::SUB_SESSION_ID_NAME定数にて参照されます。 ですから、より正確には、

 

となります。 現実的なコーディングに関してこれは冗長的ですので、サブセッションを管理するSubSessionクラスのgetIdFormメソッドを利用してください。

  1.  <?php echo $subSession->getIdForm(?>

Ag:PURE標準のセッション管理では、$_SESSIONスーパグローバル変数に以下の値を設定します。

$_SESSION['sub_session'] サブセッションIDをキーとする配列を保持します。

$_SESSION['params'] グローバルセッションに保持するパラメータを管理する配列を保持します。 これらはSESSIONクラスのget、setメソッドからアクセスされます。




[ Top ]


Class Methods


static method createSubSession [line 258]

static SubSession createSubSession( )

新しいサブセッションを開始して、サブセッションへアクセスするSubSessionクラスのインスタンスを返します。

現在のアクティブなセッションは新たに開始されたサブセッションに変更されます。 セッションが開始されていない場合にはESessionException例外が発生します。




Tags:

return:  作成したサブセッションを管理するSubSessionオブジェクト
throws:  ESessionException セッションが開始されていない場合
access:  public


[ Top ]

static method free [line 228]

static void free( string $key)

グローバルセッションのパラメータを破棄します。

セッションが開始されていない場合にはESessionException例外が発生します。




Tags:

throws:  ESessionException セッションが開始されていない場合
access:  public


Parameters:

string   $key   パラメータ名

[ Top ]

static method get [line 189]

static void get( string $key, [mixed $def = false])

グローバルセッションのパラメータを取得します。

パラメータが存在しない場合、$def引数の値を返します。 セッションが開始されていない場合にはESessionException例外が発生します。




Tags:

throws:  ESessionException セッションが開始されていない場合
access:  public


Parameters:

string   $key   パラメータ名
mixed   $def   パラメータが見付からない場合の返却値

[ Top ]

static method getId [line 170]

static string getId( )

セッションIDを取得します。

セッションが開始されていない場合にはfalseを返します。




Tags:

return:  セッションID
access:  public


[ Top ]

static method getSubSession [line 291]

static SubSession getSubSession( )

現在のアクティブなサブセッションへアクセスするSubSessionクラスのインスタンスを返します。

セッションが開始されていない場合、アクティブなサブセッションが存在しない場合にはESessionException例外が発生します。




Tags:

return:  取得したサブセッションを管理するSubSessionオブジェクト
throws:  ESessionException セッションが開始されていない場合
access:  public


[ Top ]

static method getSubSessionId [line 244]

static string getSubSessionId( )

現在のアクティブなサブセッションIDを取得します。

セッションが開かれていない場合、サブセッションが開かれていない場合にはfalseを返します。




Tags:

return:  サブセッションID
access:  public


[ Top ]

static method open [line 110]

static void open( )

セッションを開きます。

全てのセッション処理機能を利用する前に明示的に呼び出す必要があります。 既にセッションが開いている場合には何もしないで終了します。

openメソッドは必要があればPHP本体のセッション処理機構を起動し、続いてSESSIONクラスのセッション処理機構を起動します。 SESSIONクラスのセッション処理機構は起動されるとセッション中に管理領域を作成します。 更にリクエスト中からサブセッションを認識し、サブセッションを起動します。

サブセッションを認識する際に、リクエストから渡されているサブセッションIDがセッションに保存されているサブセッション情報に一致しない場合にはESessionSecurityException例外が発生します。




Tags:

access:  public


[ Top ]

static method opened [line 158]

static bool opened( )

セッションが開始されているか否かを取得します。

openedメソッドの返すステータスはPHPのセッション処理関数の状態だけではありません。 SESSIONクラスのopenメソッドが呼ばれているか否かも判定されます。




Tags:

return:  セッションが開始されているか否か
access:  public


[ Top ]

static method set [line 211]

static void set( string $key, mixed $value)

グローバルセッションにパラメータを設定します。

セッションが開始されていない場合にはESessionException例外が発生します。




Tags:

throws:  ESessionException セッションが開始されていない場合
access:  public


Parameters:

string   $key   パラメータ名
mixed   $value   パラメータ値

[ Top ]


Class Constants

ACCESS_TIME_KEY =  "access_time"

[line 79]


[ Top ]

CREATE_TIME_KEY =  "create_time"

[line 78]


[ Top ]

PARAMS_KEY =  "params"

[line 80]


[ Top ]

SUB_SESSION_ID_NAME =  "sub_session_id"

[line 76]


[ Top ]

SUB_SESSION_KEY =  "sub_session"

[line 77]


[ Top ]

TMP_FILES_KEY =  "tmpfiles"

[line 81]


[ Top ]

TMP_FILES_SEQ =  "tmpfileseq"

[line 82]


[ Top ]



Documentation generated on Sun, 06 Jan 2008 01:33:26 +0900 by phpDocumentor 1.3.2