忍者ブログ
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。



2017/09/26 05:21 |
AuraPHP 1.0.0-beta1 Aura.Session
Aura.Sessionは、セッションのラッパで、セッションをオブジェクト風に扱えます。
使い方もかなり簡単です。
<?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


2013/05/15 23:40 | Comments(1) | PHP

コメント

すいません、マインクラフトの事です。CustomStuff2の事ですが
使い方などを書いてましたよね?それの1.5.2をしたいんですが
使い方など知っていますでしょうか?1.0のやり方ではできませんでした
こんなところで質問してすいません・・・
posted by のびた at 2013/05/18 20:55 [ コメントを修正する ]

コメントを投稿する






Vodafone絵文字 i-mode絵文字 Ezweb絵文字 (絵文字)



<<AuraPHP 1.0.0 Aura.Signal | HOME | PHP5.4.7 セッションハンドラ>>
忍者ブログ[PR]