Aura.Sessionは、セッションのラッパで、セッションをオブジェクト風に扱えます。
使い方もかなり簡単です。
セッションの開始終了など、セッション全体に関連する事柄はAura\Session\Managerに対して設定します。
データの書き込みは、getSegment()でセグメントを取得して、それに対して書き込んでいきます。
今回は引数に'Aura.Session.Test'を指定したので、実際に書き込まれる値は$_SESSION['Aura.Session.Test']['hoge'] = 'fuga';のようになります。
引数にパッケージ名など一位の値を指定することで、別の部署が開発してた機能とセッションキーが重複して動かなくなった、などの事故を未然に防ぐことができます。
また便利な機能として、一度だけ読み込めるフラッシュ機能があります。
setFlash()で保存した値は、getFlash()した時点で消えます。
フォームのリロード防止や、リダイレクト先での警告表示などに気軽に使えそうです。
AuraPHPの記事
使い方もかなり簡単です。
<?php
require_once('path/to/channel/vendor/autoload.php');
// Aura.Session
$session = new Aura\Session\Manager(
new Aura\Session\SegmentFactory(),
new Aura\Session\CsrfTokenFactory()
);
// 設定
$session->setCacheExpire($session->getCacheExpire()); // session_cache_expire()
$session->setCacheLimiter($session->getCacheLimiter()); // session_cache_limiter()
$session->setName($session->getName()); // session_name()
$session->setSavePath($session->getSavePath()); // session_save_path()
// セッション開始
$session->start(); // session_start()
$session->regenerateId(); // session_regenerate_id()
// 状態確認
$session->isStarted(); // 開始していればtrue
$session->getId(); // session_id()
$session->getStatus(); // session_status()
$session->isActive(); // session_status()===PHP_SESSION_ACTIVEならtrue
// セッション書き込みオブジェクト
$segment = $session->getSegment('Aura.Session.Test');
// 読み書き
$segment->hoge = 'fuga';
$hoge = $segment->hoge;
// 読んだら消える
$segment->setFlash('key', 'value');
$segment->hasFlash('key'); // 値が存在すればtrue
$key = $segment->getFlash('key'); // ここで消える
// 終了
$session->commit(); // session_write_close()
$session->clear(); // session_unset()
$session->destroy(); // session_destroy()
コンストラクタは選択の余地がないので、気にせずそのままコピペするだけでいいです。セッションの開始終了など、セッション全体に関連する事柄はAura\Session\Managerに対して設定します。
データの書き込みは、getSegment()でセグメントを取得して、それに対して書き込んでいきます。
今回は引数に'Aura.Session.Test'を指定したので、実際に書き込まれる値は$_SESSION['Aura.Session.Test']['hoge'] = 'fuga';のようになります。
引数にパッケージ名など一位の値を指定することで、別の部署が開発してた機能とセッションキーが重複して動かなくなった、などの事故を未然に防ぐことができます。
また便利な機能として、一度だけ読み込めるフラッシュ機能があります。
setFlash()で保存した値は、getFlash()した時点で消えます。
フォームのリロード防止や、リダイレクト先での警告表示などに気軽に使えそうです。
AuraPHPの記事
PR
使い方などを書いてましたよね?それの1.5.2をしたいんですが
使い方など知っていますでしょうか?1.0のやり方ではできませんでした
こんなところで質問してすいません・・・