2010-03-08 59 views
2

我想知道在PHP中存儲和檢索會話值的最佳方法是什麼。我正在構建一個帶有MVC結構的php框架。現在我有一個帶重要對象的註冊表類。在PHP中存儲和檢索會話值的良好做法

我有一個會議的類,有一些關於會話的定義函數。現在我想知道在您的代碼中隨處可以使用

$_SESSION['something'] 

是否是一個好習慣。或者我應該在會話對象類中使用set和get方法。如果我這樣做,它會看起來像

$session->something = 4 
$myalue = $session->something 

我知道這是不是一個大問題,但我只是想知道最好的做法是什麼在一個良好的架構這樣的事情。

謝謝!

回答

4

我傾向於使用Session對象類,主要是因爲它給了我一個實際會話日期和正在嘗試設置的類之間的代理。

例如:

當我有一個網站直播和用戶說,他們正與X或Y的問題,這是很容易讓我插入數據會話對象,使得它看起來像我是該用戶,而不需要以該用戶的身份實際登錄,或者刪除我自己的任何會話數據。

另一個好處是,我不必擔心我如何命名我的變量。如果我需要確保我的應用程序不會踩到另一個應用程序的腳趾,這非常方便。我可以簡單地在會話存儲中更改我的變量名稱,同時在面對我的應用程序時保持它們的名稱相同。

1

如果圍繞某事構建包裝類,則應該使用該包裝類。否則有什麼意義?

你通常想拍的東西是一層抽象。如果您決定更改會話數據存儲方式的實現細節(例如,將數據存儲在$_SESSION['Prefix']['something']中,或將整個事務切換到數據庫後端),則只需更改會話類的詳細信息即可其餘的代碼無需修改就可以工作。