Cakephp-session-management
CakePHP-セッション管理
セッションを使用すると、リクエスト全体で一意のユーザーを管理し、特定のユーザーのデータを保存できます。 セッションデータは、リクエストオブジェクトにアクセスできる場所であればどこからでもアクセスできます。つまり、セッションは、コントローラー、ビュー、ヘルパー、セル、コンポーネントからアクセスできます。
セッションオブジェクトへのアクセス
セッションオブジェクトは、次のコードを実行して作成できます。
セッションデータの書き込み
セッションで何かを書くには、 write()session メソッドを使用できます。
上記のメソッドは、値が格納される value と key の2つの引数を取ります。
例
セッションデータの読み取り
セッションから保存されたデータを取得するには、 read()session メソッドを使用できます。
上記の関数は、セッションデータの書き込み時に使用された*値のキー*である引数を1つだけ取ります。 正しいキーが提供されると、関数はその値を返します。
例
特定のデータがセッションに存在するかどうかを確認する場合は、 check()session メソッドを使用できます。
上記の関数は引数としてキーのみを取ります。
例
セッションデータを削除する
セッションからデータを削除するには、 delete()session メソッドを使用してデータを削除します。
上記の関数は、セッションから削除される値のキーのみを取ります。
例
セッションからデータを読み取って削除する場合は、 consume()session メソッドを使用できます。
上記の関数は引数としてキーのみを取ります。
例
セッションの破棄
ユーザーがサイトからログアウトしたときにユーザーセッションを破棄し、* destroy()*メソッドを使用してセッションを破棄する必要があります。
例
セッションを破棄すると、サーバーからすべてのセッションデータが削除されますが、セッションCookieは削除されません。
セッションを更新する
ユーザーセッションを更新したい状況では、 renew()session メソッドを使用できます。
例
完全なセッション
同じ Sessions ディレクトリの下に retrieve_session_data.ctp という別の View ファイルを作成し、そのファイルに次のコードをコピーします。
同じSessionsディレクトリの下に check_session_data.ctp という別の View ファイルを作成し、そのファイルに次のコードをコピーします。
同じセッションディレクトリに delete_session_data.ctp という別のfilbe View を作成し、そのファイルに次のコードをコピーします。
同じSessionsディレクトリに destroy_session_data.ctp という別の View ファイルを作成し、そのファイルに次のコードをコピーします。
出力
次のURLにアクセスして、上記の例を実行します。 このURLは、セッションでデータを書き込むのに役立ちます。
次のURLにアクセスして、セッションデータを読み取ります*- http://localhost:85/CakePHP/session-read
次のURLにアクセスして、セッションデータを確認します*- http://localhost:85/CakePHP/sessioncheck
次のURLにアクセスして*セッションデータを削除します*- http://localhost:85/CakePHP/sessiondelete
次のURLにアクセスして、セッションデータを破棄します*- http://localhost:85/CakePHP/sessiondestroy