ホームページ >バックエンド開発 >PHPチュートリアル >不明なソフトウェア例外 PHP におけるセッションの概念
セッションとは何ですか? Session を中国語に直接翻訳するのは難しく、一般的にはタイムドメインに翻訳されます。コンピュータ用語では、セッションとはエンド ユーザーが対話型システムと通信する間の時間間隔を指し、通常はシステムに入る登録からシステムからログアウトするまでの経過時間を指します。具体的には、Web におけるセッションとは、ユーザーが Web サイトを閲覧する際に、Web サイトにアクセスしてからブラウザを閉じるまでにかかる時間であり、ユーザーが Web サイトを閲覧した時間でもあります。したがって、上記の定義から、セッションは実際には特定の時間の概念であることがわかります。
セッションの概念には、特定のクライアント、特定のサーバー、および中断のない操作時間が含まれる必要があることに注意してください。ユーザー A がサーバー C との接続を確立するセッションと、ユーザー B がサーバー C との接続を確立するセッションは、2 つの異なるセッションです。
では、セッションの解決策は何でしょうか?ユーザーが Web サイトにアクセスする際、多くの Web ページを閲覧する必要があることがよく知られています。 PHP で構築された Web サイトの場合、ユーザーは訪問中に多くの PHP スクリプトを実行する必要があります。ただし、HTTP プロトコル自体の特性により、ユーザーは PHP スクリプトを実行するたびに Web サーバーとの接続を再確立する必要があります。また、ステートレス メモリの特性により、この接続は最後の接続の状態を取得できません。このように、ユーザーは 1 つの PHP スクリプトで変数に値を割り当てますが、別の PHP スクリプトでその変数の値を取得することはできません。たとえば、ユーザーはログインを担当する PHP スクリプトで $user="wind" を設定しますが、別の PHP スクリプトで $user を呼び出しても "wind" の値を取得できません。つまり、PHP ではグローバル変数を設定できません。各 PHP スクリプトで定義される変数は、このスクリプト内でのみ有効なローカル変数です。
セッションの解決策は、PHP スクリプトでグローバル変数を定義するメソッドを提供し、このグローバル変数が同じセッション内のすべての PHP スクリプトで有効になるようにすることです。上で述べたように、セッションは単純な時間の概念ではありません。セッションには特定のユーザーとサーバーも含まれます。したがって、より詳細には、セッションで定義されるグローバル変数のスコープは、このセッションに対応するユーザーがアクセスするすべての PHP を指します。
たとえば、ユーザー A はセッションを通じてグローバル変数 $user="wind" を定義し、ユーザー B はセッションを通じてグローバル変数 $user="jane" を定義します。次に、ユーザー A がアクセスする PHP スクリプトでは、$user の値は Wind です。
上記は、未知のソフトウェア例外 PHP におけるセッションの概念を紹介しており、未知のソフトウェア例外の内容も含めて、PHP チュートリアルに興味のある友人に役立つことを願っています。