- 締切済み
global変数の取り扱いについて
石井と申します。 表題の件についてご質問させて頂きます。 現在、DBにセッション情報を保持させるように セッション・プログラムを作っているのですが、 以下のように、セッション関数を登録しているとして、 session_set_save_handler( 'my_sess_open', 'my_sess_close', 'my_sess_read', 'my_sess_write', 'my_sess_destroy', 'my_sess_gc' ); my_sess_read が呼ばれたときに、 DBに登録されていたセッション値をグローバル変数var1に保存し、 my_sess_writeが呼ばれたときに、 my_sess_writeの引数で指定されたセッション・データが、 var1と違うなら、DBを更新させるというふうにしたいと考えています。 それで、質問なのですが、 phpでいうグローバル変数var1は、他人からも参照が可能になっているのでしょうか? (値がスレッド間で共有されるのか?) 別の例えで言うなら、phpのグローバル変数は javaでいうstatic修飾子のような動きをするのでしょうか? 以上、宜しくお願い致します。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- wakame0729
- ベストアンサー率32% (245/765)
回答No.1
いいえ、他人からは参照できません。PHPでいうグローバル変数の「グローバル」は、関数内で定義した変数は関数内のみで有効という「ローカル」に対しての「グローバル」です。 PHPはスクリプトの頭から始まってスクリプトの終わりで終了します。ただこれだけの動作ですので、例え同じスクリプトが同時に走っていたとしても、両者の間には関連性がありません。
お礼
なるほど、スクリプト内で有効なのですね。 有難うございました。