PHP開発では、セッション管理は動的なWebサイトを構築する上で重要な部分です。セッション管理を通じて、開発者はユーザーのステータスとデータを簡単に追跡できます。 PHPは複数の関数を提供してセッション管理を実装します。ここでは、PHPの以前のバージョンでsession_register()関数がよく使用されていましたが、PHP 5.4以降のリリースにより、 Session_register()関数は廃止されており、推奨されません。ただし、レガシープロジェクトである初心者やPHPセッション管理を学んでいる初心者にとっては、依然として非常に意味があります。
session_register()は、PHPが現在のセッションに変数を登録するために使用される関数であり、変数がセッションライフサイクルに有効になるようにします。この関数によって登録されている変数を呼び出すことにより、セッションの他のページでアクセスおよび変更できます。この関数は、早くもPHP 5.4に放棄されたとマークされ、 $ _Session Hyperglobalアレイを使用してそれを置き換えることを正式に推奨することに注意する必要があります。
PHPでsession_register()関数を使用する前に、セッションを開始するためにsession_start()を呼び出す必要があります。その後、 session_register()を使用して、セッションで保存する必要がある変数を登録できます。
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// セッションを開始します</span></span><span>
</span><span><span class="hljs-title function_ invoke__">session_start</span></span><span>();
</span><span><span class="hljs-comment">// セッションに変数を登録します</span></span><span>
</span><span><span class="hljs-variable">$username</span></span><span> = </span><span><span class="hljs-string">"JohnDoe"</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">session_register</span></span><span>(</span><span><span class="hljs-string">'username'</span></span><span>);
</span><span><span class="hljs-comment">// 他のページでこの変数を使用します</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Welcome, "</span></span><span> . </span><span><span class="hljs-variable">$_SESSION</span></span><span>[</span><span><span class="hljs-string">'username'</span></span><span>];
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
上記のコードのプロセスは次のとおりです。最初にセッションを開始し、次に現在のセッションにusernameという名前の変数を登録します。他のページは、 $ _Session ['username']を介してセッションの変数にアクセスします。
PHP 5.4では、 session_register()は非推奨としてマークされ、PHP 5.4以降はサポートされなくなりました。これは、 session_register()がグローバルスコープ変数に影響を与え、プログラムの維持とデバッグを簡単に困難にするためです。さらに、 $ _Sessionアレイを使用してセッションデータに直接アクセスすることは、より直感的であるだけでなく、潜在的なセキュリティの問題とコードエラーを回避します。
公式ドキュメントでは、セッションデータを処理するために$ _Sessionを使用することをお勧めします。
PHP 5.4から始めて、 $ _Sessionアレイを使用してセッションデータを保存することをお勧めします。この方法はよりシンプルで、理解しやすく、安全です。セッション管理のためにsession_register()の代わりに$ _sessionを使用する方法は次のとおりです。
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// セッションを開始します</span></span><span>
</span><span><span class="hljs-title function_ invoke__">session_start</span></span><span>();
</span><span><span class="hljs-comment">// 使用 $_SESSION データを保存します</span></span><span>
</span><span><span class="hljs-variable">$_SESSION</span></span><span>[</span><span><span class="hljs-string">'username'</span></span><span>] = </span><span><span class="hljs-string">"JohnDoe"</span></span><span>;
</span><span><span class="hljs-comment">// 他のページにこのデータにアクセスします</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Welcome, "</span></span><span> . </span><span><span class="hljs-variable">$_SESSION</span></span><span>[</span><span><span class="hljs-string">'username'</span></span><span>];
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
これにより、 session_register()を使用せずに$ _Session ['username']を使用して、セッション内のユーザー名変数に直接アクセスして変更できます。
$ _Sessionアレイは、文字列、配列、オブジェクトなど、複数のタイプのデータを保持できます。セッションでデータをいつでも追加、更新、または削除できます。一般的な操作には次のものがあります:
データの追加:
<span><span><span class="hljs-variable">$_SESSION</span></span><span>[</span><span><span class="hljs-string">'user_id'</span></span><span>] = </span><span><span class="hljs-number">123</span></span><span>;
</span></span>
データの変更:
<span><span><span class="hljs-variable">$_SESSION</span></span><span>[</span><span><span class="hljs-string">'user_id'</span></span><span>] = </span><span><span class="hljs-number">456</span></span><span>;
</span></span>
データの削除:
<span><span><span class="hljs-keyword">unset</span></span><span>(</span><span><span class="hljs-variable">$_SESSION</span></span><span>[</span><span><span class="hljs-string">'user_id'</span></span><span>]);
</span></span>
セッション全体を破壊します:
<span><span><span class="hljs-title function_ invoke__">session_destroy</span></span><span>();
</span></span>
session_register()関数は、以前はPHPセッション管理で一般的に使用されていましたが、いくつかの問題と欠点のために、PHP 5.4以降に公式に放棄されました。代わりに$ _Sessionアレイを使用することをお勧めします。 $ _Sessionを使用することにより、セッションデータをより柔軟かつ安全に管理できます。
session_register()は放棄されていますが、その歴史的な使用法を理解することは、いくつかの古いプロジェクトのメンテナンスに依然として役立ちます。同時に、最新のPHP会話管理方法を学び、マスターすることは、開発者にとって重要なスキルの1つです。
関連タグ:
session_register