今日は、FuelPHPのセッションクラスについて調べてみたいと思います。セッションとは、サイトにアクセスしているユーザーを識別するための仕組みです。PHPにおけるセッションは『セッションID』と呼ばれるIDで管理され、セッションIDが同じであれば同じセッションのデータを取得することが出来ます。このセッションを使うことにより複数ページにまたがってデータを保持することが出来ます。FuelPHPのセッションに関する設定ファイルはfuel/core/configフォルダのsession.phpファイルに保存されています。セッションに関する設定を変更する場合は、このファイルをfuel/app/configフォルダにコピーして、そのコピーしたファイルを修正して利用します。それでは、コピーしたsession.phpファイルを開いてみます。'auto_initialize'=>true,自動的に既定のドライバがロードされます。手動で指定する場合はfalseに設定します。'driver'=>'cookie',利用するドライバの初期値はクッキーになっています。'cookie','db',memchached',redis','file'を指定することが出来ます。'match_ip'=>false,クライアントのIPアドレスが一致するかどうかを指定します。これをtrueにすると、ユーザーがプロキシサーバーを利用している場合、パブリックIPアドレスとプライベートIPアドレスの両方一致しなければ、セッションを破棄します。比較し、不一致の場合はセッションを破棄します。'cookie_domain'=>''セッションクッキーの有効なドメインを指定します。'cookie_path'=>'/'特定のパスに対してのみ有効にしたい場合はここにパスを入力します。'cookie_http_only'=>null'expire_on_close'=>falsetrueに指定するとブラウザが閉じられたときにセッションを破棄します。expiration_timeよりも優先されます。'expiration_time'=>7200セッションの有効期限を秒数で指定します。初期値は2時間に指定されています。’rotation_time'=>300セッションハイジャックを防ぐために指定された間隔でセッションIDを変更します。初期値は5分に指定されています。'flash_id'=>'flash'Flash変数はフラッシュIDとセッション変数の組み合わせによりセッションで識別されます。Flash変数を使うことにより変数名の名前衝突をさけることができます。'flash_auto_expire'=>truetrueに指定すると次にページ要求後に自動的に期限切れになります。falseに設定すると次のFlash変数を取得するまでセッションに格納されています。'post_cookie_name'=>'''cookie'=>array('cookie_name'=>'fuelcid')セッションドライバにクッキーを使用するときの設定です。'file'=>array('cookie_name'=>'fuelfid','path'=>',/tmp',gc_probability'=>5)セッションドライバにファイルを使用するときの設定です。'servers'=>.....)セッションドライバにMemcachedを使うための設定です。MemcachedもNoSQLの分類に含まれます。Memchachedとはデータとオブジェクトをメモリ内にキャッシュさせ、データベースを用いたWebサイトを高速化するために用いられる高性能な分散メモリキャッシュサーバーです。'db'=>array('cookie_name'=>'fueldid','database'=>null,'table'=>.......)セッションドライバにデータベースを使うための設定です。'redis'=>array('cookie_name'=>'fuelrid','database'=>'default')セッションドライバにNoSQLのredisを使うための設定です。Memchachedやredisは、高速に処理できることは分かるのですが、私の勉強不足によりレンタルサーバーで利用できるのかどうかも分かりませんので、無難なMySQLをセッションドライバに指定することにしたいと思います。データベーステーブルを作成します。PHPMyAdminを起動したら、SQLタブをクリックして、下記コードをコピー&ペースとして実行ボタンをクリックします。sessionsという名前のテーブルが作成され、sessionsには、7つのフィールドが作成されています。次に、先程コピーしたfule/app/config/session.phpを開き、33行目のセッションドライバーを'cookie'から'db'に変更します。それでは、『FuelPHPで簡単認証システム』で作成したページにアクセスして、ログインしてみます。セッション情報がデータベースに登録されています。Sessionクラスそれでは、Sessionクラスを使うためにSessionクラスのメソッドを調べてみましょう。instance(クッキー名)指定されたクッキー名のインスタンスを返します。クッキー名がNULL値の場合、config/session.phpで定義されたクッキー名を指定します。指定したクッキーが存在しないときはfalseを返します。set(セッション変数,値)セッション変数に値をセットします。これは連想配列で指定することも出来ます。get(セッション変数,既定値)指定したセッション変数の値を取得します。指定したセッション変数が存在しないときは、既定値が戻ります。既定値が指定されていないときはNULL値が戻ります。セッション変数を指定しないときは全てのセッション変数の値を取得します。delete(セッション変数)指定したセッション変数を削除します。セッションフラッシュ変数に値をセットします。get_flash(セッション変数,既定値)セッションフラッシュ変数の値を取得します。セッションフラッシュ変数が存在しないときは、既定値が戻ります。既定値が指定されていないときはNULL値を返します。keep_flash(セッション変数)セッションフラッシュ変数をページ遷移後も破棄しないで値を渡します。delete_flash(セッション変数)セッションフラッシュ変数を削除します。create()新しいセッションを作成します。セッションが既に存在するときは、古いセッションは廃棄され、新しいセッションが作成されます。destroy()既存のセッションを破棄します。read()ユーザーが手動でセッションを読み取ります。write()ユーザーが手動でセッションを書き込みます。rotate()ユーザーが手動でセッションIDを変更します。通常はconfigの定義により定期定期に変更されます。key(キー名)セッションキーの要素を取り出します。キー名がNULL値の場合、デフォルトでは、session_idが指定されます。コメントをキャンセルメールアドレスが公開されることはありません。*サイト関連記事FuelPHPのテーマクラスでスマホサイトの振り分け現在、社内専用サイトの作成に毎日追われています。...FuelPHPでセレクトラベルの生成(実践編その7)今日は、フォーム内でデータベースからリストを引っ張ってきて、セレクト用のラベルを生成する方法を調べてみたいと思います。...FuelPHPで軽量ビジュアルエディタの設置(実践編その10)今日は、ブログサイト等を作るときに文字装飾を簡単にしてくれるビジュアルエディタをFuelPHPに設置する方法を調べてみたいと思います。...FuelPHPのAuthパッケージ今日は、Authパッケージについて調べてみたいと思います。Authパッケージは、複数のドライバに対応可能ですので、自分で認証システムを作成することは可能です。AFFINGER5.。