アップグレードセッション

ドキュメント

変更点

  • メソッド名やライブラリの読み込み方法など、小さな変更のみが行われています。

  • データベースドライバにおけるセッションテーブルの定義が変更されました。

アップグレードガイド

  1. セッションライブラリを使用している場合は、$this->load->library('session');$session = session(); に置き換えてください。

  2. その後、$this->session で始まるすべての行を、$session と新しいメソッド名に置き換える必要があります。

    • セッションデータにアクセスするには、CI3 構文の $this->session->name の代わりに、$session->item または $session->get('item') 構文を使用します。

    • データをセットするには、$this->session->set_userdata($array); の代わりに、$session->set($array); を使用します。

    • データを削除するには、$this->session->unset_userdata('some_name'); の代わりに、unset($_SESSION['some_name']); または $session->remove('some_name'); を使用します。

    • セッションデータを、次のリクエストでのみ使用可能なフラッシュデータとしてマークするには、$this->session->mark_as_flash('item');` の代わりに $session->markAsFlashdata('item'); を使用します。

  3. データベースドライバを使用している場合は、セッションテーブルを再作成する必要があります。DatabaseHandler ドライバ を参照してください。

コード例

CodeIgniter バージョン 3.x

<?php

$this->load->library('session');

$_SESSION['item'];
$this->session->item;
$this->session->userdata('item');

CodeIgniter バージョン 4.x

<?php

$session = session();

$_SESSION['item'];  // But we do not recommend to use superglobal directly.
$session->get('item');
$session->item;
session('item');