[pod] [xml]

名前

CGI::Session - CGIアプリケーションにおける持続的なデータのセッション

概要

    # オブジェクトの初期化:
    use CGI::Session;
    my $session = new CGI::Session("driver:File", undef, {Directory=>'/tmp'});
    # 有効なセッションIDを取得
    my $CGISESSID = $session->id();
    # セッションにデータを格納
    $session->param('f_name', 'Sherzod');
    # or
    $session->param(-name=>'l_name', -value=>'Ruzmetov');
    # データの回収
    my $f_name = $session->param('f_name');
    # または
    my $l_name = $session->param(-name=>'l_name');
    # 特定セッションパラメータのクリア
    $session->clear(["_IS_LOGGED_IN"]);
    # '_IS_LOGGED_IN'フラグは10分間アイドルした後期限切れになります
    $session->expire(_IS_LOGGED_IN => '+10m');
    # セッションそのものが1時間アイドルした後期限切れになります
    $session->expire('+1h');
    # セッションを削除したほうが良いでしょう
    $session->delete();

説明

CGI-SessionはHTTPリクエストを介した簡潔で、信頼性のあるモジュール方式の セッション管理システムを提供するPerl5のライブラリです。 持続性はショッピングカートや、ログイン/認証ルーチン、 HTTPリクエストを介してデータを持ち運ぶ操作が必要なアプリケーション と言ったものについての未来を左右します。CGI::Sessionではそれを行うと共に、 それ以上の多くのことも行います。

より深く学ぶには

現在のマニュアルはクイックリファレンスとして活用されています。 セッション管理の背後にあるロジックとCGI::Sessionのプログラミングスタイルに の両方についてより深く学ぶためには以下を参考にして下さい:

メソッド

以下はCGI::Sessionオブジェクト経由で使用可能な全メソッドの概要です。

データテーブル

セッションデータはハッシュテーブル、つまりキー/値のペアの形式で格納されて います。あなたがparam()メソッドを通して割り当てたパラメーター名は テーブル内のキーとなり、あなたが割り当てた値はどれでもそのキーによって 連想されるのです。全てのキー/値のペアはレコードとも呼ばれます。

param()メソッドを通して保存した全てのデータは公開レコードと呼ばれます。 同様に読み込み専用の非公開レコードも存在します。通常、あなたは ライブラリを使用するにあたってそれらについて何も知らなくても構いません。 かと言って、知ることで傷つくと言うこともありません。ここにあるのはプライベート レコードのリスト及び所有している内容に関する説明です。

これらのプライベートメソッドはライブラリがセッションデータを抱えて稼働中、 適切な操作を行うために欠かせないものです。この原則のため、CGI::Sessionは これらのメソッドのどれもがparam()メソッド経由で上書きすることを 許していません。言い加えると、将来名前が衝突するのを阻止するために_SESSION_ と言う文字列で始まるパラメータ名は許されていないのです。

よって以下の試みはいかなるセッションデータにも影響を与えることはないでしょう。

    $session->param(_SESSION_XYZ => 'xyz');

プライベートメソッドが書き込み可能でないのに対して、ライブラリはparam()メソッド を用いることによってそれらを読み出すことを許しています:

    my $sid = $session->param(_SESSION_ID);

上記と同じものとして:

    my $sid = $session->id();

しかし我々はparam()メソッドを用いてプライベートレコードにアクセスできない からと言って嘆くことはありません。将来我々は名前の衝突を回避し、 セッションパラメータ名の制約を取り除くためにプライベートレコードを 自身の名前空間に格納する計画をたてています。

ディストリビューション

CGI::Sessionはいくつかのdirversserializers 及びid generatorsのようなモジュール方式のコンポーネント から構成されます。このセクションでは使用可能なものについてリストしています。

ドライバ

以下は標準ディストリビューションに含まれるドライバです:

シリアライザ

IDジェネレータ

以下は使用可能なIDジェネレータです:

クレジット

以下はCGI::Sessionの開発に対してパッチを提供したり、提案を出したりして 貢献してくれた方々です。貢献して頂いた時期の順に並べています:

著作権

Copyright (C) 2001, 2002 Sherzod Ruzmetov <sherzodr@cpan.org>. All rights reserved.

This library is free software. You can modify and or distribute it under the same terms as Perl itself.

作者

Sherzod Ruzmetov <sherzodr@cpan.org>. 感想や意見を歓迎します。

参考文献

翻訳者

三浦真磁 <snj@users.sourceforge.jp>