セッションを使用してPHPでユーザー認証を処理する場合、正常にログインした後にユーザーのプロパティにアクセスするための2つの主なオプションが表示されます。
- ユーザーのメインプロパティをセッションスーパーグローバルにロードします
- ユーザーのUID(ユーザー名またはID番号など)のみをセッションにロードします。たとえば
$_SESSION['username']
、ページのロード時にユーザーのメインプロパティをフェッチし、これらをユーザーオブジェクトに保存します。
方法1
- スコープは、セッションスーパーグローバルを介してより簡単にアクセスできます
方法2
- 各ページでデータを取得するため、ユーザーのデータが変更されたときにセッション変数を更新することを心配する必要はありません。
私の質問
- 私は他のオプションを見落としていますか?
- 一般的に「完了」の方法は何ですか?
- パフォーマンスはどうですか?どの方法がどのような状況でより速くなりますか?
ノート
ユーザーの「メイン」プロパティとは、ユーザーの名前、アクセスレベル、メールアドレスなど、多くのページで使用されるプロパティを指します。明らかに、大量のデータをロードすることはありません。
私はデータベースに保存されたセッションを参照しており、ファイルベースではありません。