PHP でのクラスで、セッションについて聞きたいことがあります。
例えば、以下のようなコードがあるとします。
###コード
lang
1 2//コード1 3 4class Hoge1 { 5 public function __construct(){ 6 session_start(); 7 $_SESSION["test1"] = "test1"; 8 } 9} 10 11class Hoge2 { 12 public function __construct(){ 13 echo $_SESSION["test1"]; 14 } 15} 16 17$hoge1 = new Hoge1(); 18$hoge2 = new Hoge2(); 19
lang
1 2//コード2 3 4session_start(); 5 6$_SESSION["test2"] = "test2"; 7 8class Hoge3 { 9 public function __construct(){ 10 echo $_SESSION["test2"]; 11 } 12} 13 14$hoge3 = new Hoge3(); 15
lang
1 2//コード3 3 4class Hoge4 { 5 public function __construct(){ 6 session_start(); 7 } 8} 9 10$hoge4 = new Hoge4(); 11 12$_SESSION["test3"] = "test3"; 13 14echo $_SESSION["test3"]; 15
lang
1 2//追加1 3 4function hogehoge1() { 5 session_start(); 6} 7 8hogehoge1(); 9 10$_SESSION["test4"] = "test4"; 11 12echo $_SESSION["test4"]; 13
lang
1 2//追加2 3 4session_start(); 5 6function hogehoge2() { 7 $_SESSION["test5"] = "test5"; 8} 9 10hogehoge2(); 11 12echo $_SESSION["test5"]; 13 14//hogehoge2(); //ここにあったら? 15
###質問
- これら全てのコードの
$_SESSION["test*"]
は、セッションへの代入後、値がtest*
となるか - 他のページに移動しても、 1 と同じことが言えるか
- 上で示したコード以外でも、考えられるパターンがあるか。
session_start()
は、そもそもどんな機能の関数なのか。
上のコードそれぞれが機能するかどうか、というものがメインではなく、
クラス(関数)内とクラス(関数)外でのセッションについて 知りたいので、回答よろしくお願いします。
質問がややこしくて申し訳ありません。
(一部、細かな誤りがあるかもしれません。)
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/02/21 13:50