2010-03-08 148 views
2

我想知道在PHP中存储和检索会话值的最佳方法是什么。我正在构建一个带有MVC结构的php框架。现在我有一个带重要对象的注册表类。在PHP中存储和检索会话值的良好做法

我有一个会议的类,有一些关于会话的定义函数。现在我想知道在您的代码中随处可以使用

$_SESSION['something'] 

是否是一个好习惯。或者我应该在会话对象类中使用set和get方法。如果我这样做,它会看起来像

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

我知道这是不是一个大问题,但我只是想知道最好的做法是什么在一个良好的架构这样的事情。

谢谢!

回答

4

我倾向于使用Session对象类,主要是因为它给了我一个实际会话日期和正在尝试设置的类之间的代理。

例如:

当我有一个网站直播和用户说,他们正与X或Y的问题,这是很容易让我插入数据会话对象,使得它看起来像我是该用户,而不需要以该用户的身份实际登录,或者删除我自己的任何会话数据。

另一个好处是,我不必担心我如何命名我的变量。如果我需要确保我的应用程序不会踩到另一个应用程序的脚趾,这非常方便。我可以简单地在会话存储中更改我的变量名称,同时在面对我的应用程序时保持它们的名称相同。

1

如果围绕某事构建包装类,则应该使用该包装类。否则有什么意义?

你通常想拍的东西是一层抽象。如果您决定更改会话数据存储方式的实现细节(例如,将数据存储在$_SESSION['Prefix']['something']中,或将整个事务切换到数据库后端),则只需更改会话类的详细信息即可其余的代码无需修改就可以工作。