セッションは、
サーバー内部に保存された、
一ユーザーの一続きの操作を識別するための情報です。
セッション操作メソッドの種類
CakePHPにはセッションを管理するメソッドがいくつかあります。
CakePHPではセッションは自動で開始するようになっています。
ですので、セッションを開始するメソッドはありません。
セッションオブジェクトの取得
セッションのオブジェクトを取得します。
$thisからgetRequest()でリクエストオブジェクトを呼び出し、その中からgetSession()でセッションオブジェクトを取得します。
セッションの書き込み
セッションに情報を書き込みます。キーと値を引数として渡します。
セッションオブジェクトにwrite()メソッドで情報を書き込みます。1つ目の引数がキー、2つ目の引数が値です。
セッションの読み取り
セッションから指定したキーに基づく情報を読み取ります。
セッションオブジェクトからread()メソッドで情報を読み取ります。引数にはキーを渡します。
セッションの読み取り&削除
セッションから指定したキーに紐づく値を取得し、セッション情報を削除します
セッションオブジェクトからconsume()メソッドで情報を読み取ります。引数にはキーを渡します。読み取り後、該当するキーに紐づく情報は削除されます。
セッションの削除
セッションから指定したキーに基づく情報を削除します
セッションオブジェクトからdelete()メソッドで情報を削除します。引数にはキーを渡します。
セッションの存在チェック
セッションに指定したキーに紐づく値があるか確認します
セッションオブジェクトからcheck()メソッドで情報を確認します。引数にはキーを渡します。
値が形式上存在してもnullの場合はfalseを返します。
セッションの破棄
セッション自体を破棄します。
セッションオブジェクトからdestroy()メソッドを呼び出してセッションオブジェクトを破棄します。
セッションの書き方
cakePHPでのセッションの書き方を見ていきましょう。
セッションの取得、書き込み、読み取り、
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | // セッションオブジェクトの取得 $session = $this ->getRequest()->getSession(); // セッションの書き込み $session ->write( 'hoge.piyo' , 'foo!!' ); // セッションの読み取り $session ->read( 'hoge.piyo' ); // セッションの読み取り&削除 $session ->consume( 'hoge.piyo' ); // セッションの削除 $session -> delete ( 'hoge.piyo' ); // セッションの存在チェック() if ( $session ->check( 'hoge.piyo' )){ // 'hoge.piyo'が存在しnullではないときはtrue } // セッションの破棄 $session ->destroy(); |