Curry
PHP Framework

core

db

html

utility

Session

クラス概要

Sessionクラスはセッション変数へのインターフェイスを提供します。PHPのセッションはスーパーグローバル変数$_SESSIONを利用しますが、Sessionクラスはこのセッション変数を間接的に操作します。
Sessionクラスは名前空間という概念を持ち、コンストラクタで任意の名前空間を指定することで、同じ名前空間で生成されたインスタンスはどこでも同じ値を入出力可能です。逆に名前空間の異なるインスタンスは参照する値が全く異なります。

クラスファイル位置

curry/core/session.php

フィールド

公開されるフィールドはありません。

メソッド

メソッド名 アクセス 概要
get public 指定されたキーのセッションの値を取得します。
__get public セッションのインスタンスに対して存在しないフィールドが参照された場合、そのフィールド名をキーとしてgetメソッドを実行したのと同じ結果が得られます。例えば$session->get('var')と$session->varは同じ値を返します。
set public セッションの指定したキーに値を保存します。
__set public セッションのインスタンスに対して存在しないフィールドに値を設定しようとした場合、そのフィールド名をキーとしてsetメソッドを実行したのと同じ結果が得られます。例えば$session->set('var', 'value')と$session->var = "value"は同じ結果となります。
clear public インスタンスの名前空間に含まれるセッションの値を全て削除します。他の名前空間の値に影響はありません。
start public セッションを明示的に開始します。通常はsetやgetメソッドが最初に実行されたときに自動的にstartするため、このメソッドを実行する必要はありません。
closeWrite public セッションへの書き込みを終了し、セッションファイルのロックを開放します。このメソッドはphpの標準関数、session_write_closeのラッパーです。
通常はスクリプトの終了時に自動的に閉じられますが、Ajaxなどにより、同一セッションに同時アクセスが発生するような場合にはいちいち閉じる必要があります。
isCloseEndWrite public セッションへの値の書き込み直後に一回一回セッションを閉じるか否かを設定します。
このメソッドでtrueを設定すると、setメソッド実行時にいちいちstartとcloseWriteを自動的に実行するため、Ajaxでセッション利用時などでいちいちcloseWriteを実行する必要がなくなります。
デフォルトは閉じない設定になっているため、閉じる必要がない場合はこのメソッドを実行する必要はありません。
__construct public コンストラクタです。引数で名前空間を指定します。
exists public 指定のキーが存在するか確認します。

※バージョン1.1.0以降
remove public 指定されたキーのセッションデータを削除します。

※バージョン1.2.0以降